python 源代码在 Jython/Java 集成中的位置
Location of python source code in Jython/Java integration
我可以整合 this source 中的 java/jython。
我用 brew
下载了 jython
,所以 jar 文件位于 /usr/local/Cellar/jython
目录中。
我想出了以下脚本来将 class 文件构建到 _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 文件?
应该首先将 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);
...
我可以整合 this source 中的 java/jython。
我用 brew
下载了 jython
,所以 jar 文件位于 /usr/local/Cellar/jython
目录中。
我想出了以下脚本来将 class 文件构建到 _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 文件?
应该首先将 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);
...