Запуск Java-программы в скрипте Perl / CGI - PullRequest
2 голосов
/ 29 апреля 2011

У меня есть программа, которая использует внешние библиотеки и код, написанный на Java. Тем не менее, я хочу сделать его доступным через Интернет.

Если бы у меня был полный контроль над веб-сервером, на котором я работал, я бы, вероятно, использовал Tomcat или JBoss, но у меня нет таких привилегий в моей школе.

На серверах, к которым у меня есть доступ, есть HTTP-сервер Apache, на котором установлены все нормальные вкусности Linux (подумайте: Perl, PHP и т. Д.)

Как бы я написал Perl-скрипт для запуска этой Java-программы? Я пробовал основы, такие как «системная java MyProgram» и «exec java MyProgram», но, похоже, они не работают.

Буду признателен за любую помощь или понимание этого. Спасибо!

Ответы [ 3 ]

1 голос
/ 29 апреля 2011

Попробуйте это:

system('/full/path/to/java -cp full_class_path my.class.Name');
1 голос
/ 05 августа 2013

Процесс процесса;

    try
    {
      process = Runtime.getRuntime().exec("cmd / c start c:\\Perl\\bin\\file.pl");

попытайтесь выполнить так, как описано в вашей программе.

0 голосов
/ 29 апреля 2011

Когда вы запускаете сценарий CGI, среда очень ограничена, включая PATH. Возможно ли, что ваш CGI-скрипт не может найти команду java? Или, может быть, Perl просто отказывается запускать команду system в режиме CGI (он же taint mode ). См. perldoc perlsec для получения дополнительной информации.

Как правило, вам нужно установить PATH, а затем попробовать выполнить команду system с помощью команды java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...