我正在通过本 Jython
指南制作一个一对一的Jython
对象工厂。
作者谈到了org.jython.book.interfaces
他在整个教程中使用的一个。
为了使用这种技术来利用 Jython 模块,您必须确保 .py 模块包含在您的 sys.path 中,或者在您的 Java 代码中硬编码模块的路径。实现 Java 接口以创建建筑对象的 python 模块
from org.jython.book.interfaces import BuildingType
我已经导入jython.jar
了我能找到的所有内容,但库的这一部分不存在。在他的教程中,他创建了building.py
、buildingType.java
和buildingFactory.java
.
这是我的代码,应用程序命中并无法继续运行:
package my.irondb_datdiff;
import org.python.core.PyObject;
import org.python.core.PyString;
import org.python.util.PythonInterpreter;
public class DiffFactory {
private PyObject diffClass;
public DiffFactory() {
PythonInterpreter pyin = new PythonInterpreter();
pyin.exec("from make_diff_from_irons import make_diff_from_irons");
diffClass = pyin.get("make_diff_from_irons");
}
public make_Diff run(String export, String source, String target) {
PyObject diffObject = diffClass.__call__(
new PyString(export),
new PyString(source),
new PyString(target));
return (make_Diff)diffObject.__tojava__(make_Diff.class);
}
}
这是它在“运行”后遇到的文件所在的行:
from my.irondb_datdiff import make_Diff
我已经制作了这些版本,但我收到我的模块不存在的错误。我确定这是因为我没有导入接口,因为我在库中找不到正确的模块。
有什么想法吗?
(我也意识到另一位发帖人对教程中的这个确切步骤有类似的问题,但这个问题不同,其他发帖人的回答没有回答我的问题。所以请不要标记为重复。)