1

我正在通过 Jython指南制作一个一对一的Jython对象工厂。

作者谈到了org.jython.book.interfaces他在整个教程中使用的一个。

为了使用这种技术来利用 Jython 模块,您必须确保 .py 模块包含在您的 sys.path 中,或者在您的 Java 代码中硬编码模块的路径。实现 Java 接口以创建建筑对象的 python 模块

from org.jython.book.interfaces import BuildingType

我已经导入jython.jar了我能找到的所有内容,但库的这一部分不存在。在他的教程中,他创建了building.pybuildingType.javabuildingFactory.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

我已经制作了这些版本,但我收到我的模块不存在的错误。我确定这是因为我没有导入接口,因为我在库中找不到正确的模块。

有什么想法吗?

(我也意识到另一位发帖人对教程中的这个确切步骤有类似的问题,但这个问题不同,其他发帖人的回答没有回答我的问题。所以请不要标记为重复。)

4

0 回答 0