Jython / Java集成中python源代码的位置

时间:2015-02-14 03:30:08

标签: java python integration jython

我可以整合来自this source的java / jython。

我使用jython下载了brew,因此jar文件位于/usr/local/Cellar/jython目录中。

我想出了以下脚本来将类文件构建到_build目录中,但问题是我必须将python(jython)源复制到目录中以使集成工作。

#!/bin/bash

DIRECTORY="_build"
if [ ! -d "$DIRECTORY" ]; then
    # Control will enter here if $DIRECTORY exists.
    mkdir $DIRECTORY
fi

cp Building.py $DIRECTORY
javac -d _build -cp .:/usr/local/Cellar/jython/2.5.3/libexec/jython.jar *.java
java -cp /usr/local/Cellar/jython/2.5.3/libexec/jython.jar:_build org.jython.book.Main

我的问题是如何在我喜欢的任何地方找到jython源并教java代码来查找jython文件?

1 个答案:

答案 0 :(得分:0)

首先应将setupPath()方法添加到JythonObjectFactory中。

public static void setupPath(String[] paths)
{
    PythonInterpreter interpreter = new PythonInterpreter();

    interpreter.exec("import sys;");
    for (int i = 0; i < paths.length; i++) {
        interpreter.exec(String.format("sys.path.append(\"%s\")", paths[i]));
    }
}

然后,在Main函数中,应该调用此函数。

public class Main {
    public static void main(String[] args) {
        JythonObjectFactory factory = JythonObjectFactory.getInstance();
        ArithType a = (ArithType) factory.createObject(ArithType.class, "Arith");

        String[] paths = {"DIRECTORY1", "DIRECTORY2"};
        JythonObjectFactory.setupPath(paths);                        
        ...