Как импортировать Java-класс, созданный в jython, и вызвать метод - PullRequest
2 голосов
/ 27 января 2012

Я создал класс Java, который вызывает другие классы Java, а затем печатает на экран. я пытаюсь создать интерфейс Python, который вызывает мой класс Java, выполняет один метод внутри него, и завершается. я не могу получить доступ к своему методу. Я использовал строку "import directory.directory2.myClass.java (и .jar и .class). Я сделал файл .jar как из необработанного кода, так и из файла .class. Кажется, ни один из них не работает. Я установил sys.path.append, чтобы указать каталог, в котором находятся java-файлы. Нужно ли конвертировать мой файл java-класса в модуль python? и если да, то как мне это сделать?

Ответы [ 2 ]

2 голосов
/ 28 января 2012

Jython поддерживает загрузку классов Java, как если бы они были модулями Python.Он ищет в каталогах sys.path .class файлов.

Сначала убедитесь, что ваш класс Java уже скомпилирован с javac.

Затем,сделать sys.path.append(d), где d - каталог, содержащий пакет.Поэтому, если ваш класс говорит package foo.bar; вверху и находится в mydir/foo/bar/myclass.java, то у вас должен быть mydir в sys.path ( НЕ один из подкаталогов mydir).

Наконец, импортируйте класс через что-то вроде from foo.bar import myclass.Имена между должны совпадать между Python и Java!Вы будете делать "из [package] import [class]".

0 голосов
/ 27 января 2012

Вы должны сделать это:

from directory.directory2 import myClass
myObject = myClass()
myObject.myMethod()
...