Exécuter un programme Java dans un script Perl / CGI

J’ai un programme qui utilise des bibliothèques externes et du code que j’ai écrit en Java. Cependant, je veux le rendre accessible via le web.

Si j’avais le contrôle total sur le serveur Web sur lequel je l’exécutais, j’utiliserais probablement Tomcat ou JBoss, mais je n’ai pas de tels privilèges dans mon école.

Les serveurs auxquels j’ai access ont un serveur HTTP Apache avec tous les avantages Linux normaux installés (pensez: Perl, PHP, etc.)

Comment pourrais-je écrire un script Perl qui exécute ce programme Java? J’ai essayé les bases telles que “System java MyProgram” et “exec java MyProgram”, mais elles ne semblent pas fonctionner.

J’apprécierais toute aide ou compréhension à ce sujet. Je vous remercie!

Essaye ça:

 system('/full/path/to/java -cp full_class_path my.class.Name'); 

Processus processus;

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

essayez de courir comme cela selon votre programme.

Lorsque vous exécutez un script CGI, l’environnement est très limité, et cela inclut le PATH . Est-il possible que votre script CGI ne trouve pas la commande java ? Ou peut-être Perl refuse-t-il simplement d’exécuter la commande system en mode CGI (mode aka aka). Voir perldoc perlsec pour plus d’informations.

Fondamentalement, vous devez définir PATH puis essayer d’exécuter votre commande system avec votre commande java .