2009-12-06 5 views
12

У меня есть библиотека классов Java (сторонняя сторона, проприетарная), и я хочу, чтобы мой скрипт python вызывал ее функции. У меня уже есть Java-код, который использует эту библиотеку. Каков наилучший способ достичь этого?Каков наилучший способ вызова кода Java из Python?

+0

Дубликат: http://stackoverflow.com/questions/438594/how-to-call-java-objects-and-functions-from-cpython, http://stackoverflow.com/questions/1201628/java -wrapper-to-perl-python-code –

ответ

15

Можете ли вы запускать текущие сценарии Python под Jython? Если это так, это, вероятно, лучший способ, так как библиотека Java может быть представлена ​​непосредственно в Jython в качестве объектов сценариев.

В противном случае существует ряд решений, перечисленных here.

+0

+1. Здесь сложно победить Jython. –

+0

Если использовать scipy и numpy, Jython может и не быть вариантом. – Sney

8

Другой ответ JPype, который позволяет CPython разговаривать с Java. Это полезно, если вы не можете переключиться на Jython.

3

Существует также JCC, который не указан на странице Caltech.

Цитата:

ОКК является генератор кода C++, который производит ++ интерфейс объекта C оберточную библиотеку Java с помощью Native Interface в Java (JNI). JCC также генерирует C++-обертки, соответствующие Система типа C Python, создающая экземпляры классов Java напрямую , доступный интерпретатору Python.

При создании оболочки Python, ОКК производит полное расширение Python через Distutils или Setuptools пакетов.

Смежные вопросы