2010-05-03 2 views
1

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

+1

Если вы работаете в Jython, то просто –

+0

+1 для Jython. Это позволяет использовать Java в интерпретаторе Jython. – gpampara

ответ

2

Я не думаю, что использование Python очень помогает в командной строке (по крайней мере, не в командной строке * nix), но основная идея заключается в том, чтобы общаться через сокет или какой-то аналогичный механизм. Это означает, что приложение Java должно быть завернуто в некоторый код, который открывает сокет и ждет, когда скрипт python свяжется с ним. Если вам наиболее удобно работать с python, вы можете посмотреть, как реализовать эту оболочку в Jython.

0

Я использовал JPype для чего-то подобного, и он отлично работал.

JPype - это попытка разрешить программам python полный доступ к библиотекам классов java. Это достигается не за счет повторной реализации Python, как это делал Jython/JPython, а скорее путем взаимодействия на родном уровне в обеих виртуальных машинах.

Если приложение java работает, вы также должны рассмотреть xml-rpc, так как он также хорошо работает.