Библиотека Jython для интерфейсов
Я работаю через это Jython
руководство, чтобы сделать один на один Jython
Объект Фабрика.
Писатель говорит о org.jython.book.interfaces
что он использует через учебник.
Чтобы использовать модуль Jython, используя эту технику, вы должны либо убедиться, что модуль.py содержится в вашем sys.path, либо жестко прописать путь к модулю в вашем коде Java. Модуль Python, который реализует интерфейс Java для создания строительного объекта
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
Я сделал свои версии этих, но я получаю сообщение об ошибке, что мой модуль не существует. Я уверен, что это потому, что я не импортирую интерфейс, потому что не могу найти нужный модуль в библиотеке.
Какие-нибудь мысли?
(Также я понимаю, что у другого автора был похожий вопрос об этом точном шаге в учебном пособии, но этот вопрос отличается, и ответ других авторов не ответил на мой вопрос. Поэтому, пожалуйста, не отмечайте как дубликат.)