J'explore Groovy sur Windows 10 et lorsque j'utiliseappels système en Groovy échoue
"java -version".execute().text
je reçois pas de sortie et sur l'inspection de la sortie d'erreur en utilisant:
def pb = new ProcessBuilder("java -version").redirectErrorStream(true);
def result = pb.start()
println result.text
il va:
Caught: java.io.IOException: Cannot run program "java -version": CreateProcess error=2, Den angivne fil blev ikke fundet
java.io.IOException: Cannot run program "java -version": CreateProcess error=2, Den angivne fil blev ikke fundet
at java_lang_ProcessBuilder$start$0.call(Unknown Source)
at test$_run_closure2.doCall(test.groovy:59)
at test.run(test.groovy:51)
Il semble que Groovy ignore complètement le PATH et ne recherche que dans le répertoire courant. Par exemple, si je crée un fichier batch dans le même répertoire, Groovy l'exécutera. Cependant, si j'essaie de lui passer des arguments, il échoue. Il semble que Groovy interprète les arguments dans le cadre du nom de fichier.
Il se sent comme Groovy est soit vulgairement inepte ou j'aborde ce problème dans le mauvais sens ...
Je suis habitué à faire system("java -version")
en Ruby, donc ce que la façon de le faire idiomatiques en Groovy?