Les Allergies
Alimentaires
Posez votre question Signaler

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

Sydreai63 - Dernière réponse le 27 avril 2009 à 10:02
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
Lire la suite 

Lancer un .jar depuis un script cgi perl »

4 réponses
Réponse
+0
moins plus
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",...);


Ajouter un commentaire
Réponse
+0
moins plus
Meme probleme, j ai toujours une page qui s'affiche avec mes prints, mais rien d'autre ne se passe.
Ajouter un commentaire
Réponse
+0
moins plus
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>
Ajouter un commentaire
Réponse
+0
moins plus
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!
Ajouter un commentaire
Ce document intitulé « Lancer un .jar depuis un script cgi perl » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?