Lancer un .jar depuis un script cgi perl [Résolu/Fermé]

Signaler
-
 Sydreai63 -
Bonjour,

mon problème est que je n'arrive pas à lancer un .jar à partir d'un cgi écrit en perl (apache2), voici le code de mon cgi:

#!/usr/bin/perl

print "content-type: text/html\n\n";
print "<HTML>\n";
print "<HEAD><TITLE>Résultats: Sondes créées</TITLE></HEAD>\n";
print "<BODY>\n";
$ENV{QUERY_STRING}=~m/nomorga=(.*?)&idgene=(.*?)&nbrsondes=(.*?)&lngrsondes=(.*?)&sel=(.*?)&an=(.{4})/;
my $idorga=$1;
my $idgene=$2;
my $nbrsondes=$3;
my $lngrsondes=$4;
my $sel=$5;
my $an=$6;
my $arguments=$1." ".$2." ".$3." ".$4." ".$5." ".$6;
my $commande="java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\"";
my $commargs=$commande." ".$arguments;
print "Voici la ligne de commande pour exec:<br /><br /> $commargs";
print "</BODY>";
system ("java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\" hsa 10048 8 50 5.0 0.05");

j'obtiens bien la page web avec mes prints, mais rien en se passe d'autre.

Quand je lance la commande "java -jar \"/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar\" hsa 10048 8 50 5.0 0.05" directement dans un terminal, elle fonctionne et m'affiche ma page web avec mes résultats ( codé dans la .jar).

J ai essayé de remplacer system par exec, ce qui n'a rien donné.
J ai ausi essayé de mettre exec("commande") avant mon print "Voici la ligne de commande pour exec:<br /><br /> $commargs";, ce qui a pour effet de tuer le processus et donc de ne rien afficher.

J'aimerais savoir si vous auriez une solution à me soumettre!
Merci

4 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 475
Salut,

Essai
system ("java", "-jar", "/home/maroudel/NetBeansProjects/ProjetWS/dist/ProjetWS.jar", "hsa 10048 8 50 5.0 0.05"); 
En fait system prends en argument une liste.
Il faut que tu sépare les éléments de la commande
system("nom commande", "option1", "option2",...., "arg1", "arg2",...);


Meme probleme, j ai toujours une page qui s'affiche avec mes prints, mais rien d'autre ne se passe.
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 475
Re,

Ben, tu n'as que faire des tests, tout en tenir compte de ça

<ital>En fait system prends en argument une liste.
Il faut que tu sépare les éléments de la commande

system("nom commande", "option1", "option2",...., "arg1", "arg2",...);/ital>
Ha, j'ai compris!
En fait, j'avais bien testé la ligne de commande que tu m'avais donné, le seul truc, c'est que "hsa 10048... sont aussi des arguments, il m a suffit de suivre ton conseil et de les mettre chacun entre quote!
Merci bien!