Как эффективно вызвать Perl-программу из Java? - PullRequest
0 голосов
/ 18 февраля 2010

Я пытаюсь запустить программу на Perl на Java.

Я использую:

process = Runtime.getRuntime().exec("getComps.pl");

, но он дает:

Исключение:java.io.IOException: не удается запустить программу "getComps.pl": ошибка CreateProcess = 193,% 1 не является допустимым приложением Win32

Я также пытался:

process = Runtime.getRuntime().exec("cmd /c start getComps.pl");
process = Runtime.getRuntime().exec("cmd /c call getComps.pl");

Но это не дает никакого вывода.

Это дает пустой файл после выполнения программы и требует много времени для выполнения.

Существует ли эффективный способ вызова программы Perl изJava?

Ответы [ 2 ]

2 голосов
/ 18 февраля 2010

Я хотел бы представить, что у вас проблема в том, что скрипт perl сам по себе не исполняется, вам нужно вызвать сам Perl. Используя ваш текущий подход, вы, вероятно, можете просто сделать следующее:

process = Runtime.getRuntime().exec("perl getComps.pl")

Но есть и другие варианты, посмотрите на ответы на этот вопрос .

0 голосов
/ 02 августа 2013

Кто-нибудь пробовал Perl2EXE? При этом вы можете преобразовать свой Perl в EXE и затем вызвать:

Process process = Runtime.getRuntime().exec("getComps <ARGS>")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...