2017-06-15 1 views
0

J'ai créé une application Web avec Struts, et je voudrais exécuter un script R à partir d'une classe Java.Exécuter un script R à partir d'une application Web avec Java

Mon script est dans le répertoire: WebContent/script Le nom est: rScript.R

J'ai vérifié qu'une façon d'exécuter utilise ceci:

Runtime.getRuntime().exec("WebContent/script/rScript.R") 

Mais cela ne travail. Est-ce que quelqu'un sait comment je dois mettre la phrase?

Cheers.

+0

Vous devez appeler le programme exécutable qui exécute le script non seulement le script lui-même. 'Runtime.getRuntime() exec ("RSCRIPT WebContent/script/rScript.R")' – Parfait

+0

merci pour la réponse, mais le résultat est le suivant 'Impossible de lancer le programme" RScript ": CreateProcess error = 2, Le système ne peut pas trouver le fichier spécifié' Dois-je mettre quelque chose sur le script? – jmarco10

+0

Sur les machines Unix (Linux/Mac), il est sensible à la casse pour * Rscript * et vous ne pouvez pas l'avoir comme variable d'environnement. Si, n'essayez pas: 'Runtime.getRuntime(). Exec ("/full/chemin/vers/Rscript /full/path/to/WebContent/script/rScript.R ")' – Parfait

Répondre

0

Essayez

Process process =Runtime.getRuntime().exec("RScript C:/.../WebContent/script/rScript.R") 
process.waitFor(); 
+0

Merci pour la réponse. Mais le résultat de votre commande est ceci: 'Impossible d'exécuter le programme" WebContent/script/rScript.R ": erreur CreateProcess = 193,% 1 n'est pas une application Win32 valide ' – jmarco10

+0

essayez d'utiliser le chemin absolu. J'ai édité ma réponse. – want2learn

+0

'ErreurCreateProcess = 2' impossible de trouver le fichier :( – jmarco10