Java Wrapper to Perl / Python code
-
05-07-2019 - |
Вопрос
Мне нужно развернуть некоторые веб-сервисы на сервере, который поддерживает только Java, но некоторые из них будут выполнены с использованием perl или python. Я хочу знать, возможно ли разработать Java-оболочку для вызова конкретного кода, написанного на perl или python. Итак, я хочу иметь все веб-сервисы на Java, но некоторые из них будут вызывать некоторый код с использованием других языков.
Заранее спасибо. С Уважением, Ukrania
Решение
Это сильно зависит от ваших потребностей. Если Jython является опцией для кода Python (он не всегда совместим на 100%), то это, вероятно, лучший вариант там. В противном случае вам нужно будет использовать Java Process Builder для непосредственного вызова интерпретаторов и возврата результатов в их выходной поток. Это не будет быстрым (но опять же, Jython не так быстр, по сравнению с обычным Java-кодом), но это чрезвычайно гибкое решение.
Другие советы
В части Python вы можете использовать Jython для запуска кода Python прямо с виртуальной машины Java. , В качестве бонуса он полностью интегрируется с вашим Java-кодом.
Для Perl используйте Inline :: Java . Есть несколько вариантов интеграции кода; Вы можете вызвать отдельный процесс или использовать < a href = "http://search.cpan.org/dist/Inline-Java/Java/PerlInterpreter/PerlInterpreter.pod" rel = "nofollow noreferrer"> встроенный интерпретатор .
Для Python вы можете использовать API сценариев Java .
К сожалению, реализация Perl по-прежнему отсутствует.
Некоторое время назад я использовал что-то, называемое Jython, которое позволяет вам выполнять код Python из Java. Это было немного странно, но я заставил его делать то, что мне было нужно.