Qui ci sono almeno 2 questioni:Originariamente inviato da marasma
Il messaggio che mi ritorna è:
codice:Cannot run program "python": CreateProcess error=2, Impossibile trovare il file specificato] with root cause java.io.IOException: CreateProcess error=2, Impossibile trovare il file specificatocodice:Runtime p1 = Runtime.getRuntime(); p1.exec("python genericXMCDAService.py -n ElectreConcordance-J-MCDA --submit-and-wait-solution alternatives:alternatives.xml criteria:criteria.xml weights:weights.xml performances:performances.xml");
1) Innanzitutto 'python' si presuppone che sia un eseguibile: esiste da qualche parte? e soprattutto è in PATH? (altrimenti dovresti specificare un percorso assoluto).
2) Passi un nome di file 'genericXMCDAService.py': dove è fisicamente questo file? non avendo specificato un path, si presuppone che sia nella directory "corrente", quindi la questione è: quando la JVM che fa girare Tomcat viene avviata ... quale è la directory "corrente"? Anche qui se non la sai o non la puoi controllare, dovresti specificare un percorso assoluto (o relativo se non troppo complicato).
Vedo che nel comando ci sono altri file es. alternatives.xml, sono file che devono essere presenti (e dove?) o vengono generati (e dove?).
Inoltre una questione finale (quando riuscirai a farlo funzionare): la esecuzione di quello script genera dell'output su standard-output/error? Perché se ne fa e anche tanto, allora devi leggerlo da Java, altrimenti per questioni di buffering la tua applicazione Java può arrivare a bloccarsi.
A parte quest'ultima questione, le altre ti sono chiare? Non si tratta tanto di Tomcat o Eclipse, si tratta di sapere e/o poter controllare i path delle cose che usi. Tutto qui.