J'ai une classe avec le code suivant:
Java Runtime ligne de commande Process
Process process = null;
try {
process = Runtime.getRuntime().exec("gs -version");
System.out.println(process.toString());
} catch (Exception e1) {
e1.printStackTrace();
} finally {
process.destroy();
}
je peux courir "gs -version" sur ma ligne de commande et d'obtenir: GPL Ghostscript 8.71 (2010-02-10 Copyright (C) 2010 Artifex Software, Inc. Tous droits réservés. Donc, je sais que j'ai le chemin au moins défini quelque part. Je peux exécuter cette classe à partir de la ligne de commande et cela fonctionne. Mais quand je le lance en utilisant Eclipse je reçois l'erreur suivante:
java.io.IOException: Cannot run program "gs": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at clris.batchdownloader.TestJDBC.main(TestJDBC.java:17)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:53)
at java.lang.ProcessImpl.start(ProcessImpl.java:91)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:452)
... 4 more
Dans mon programme, je peux remplacer « gs » avec: « java », « mvn », « svn » et il fonctionne. Mais "gs" ne le fait pas. C'est seulement en éclipse que j'ai ce problème.
Des idées, sur ce que je dois faire pour résoudre ce problème?
J'ai donc essayé d'ajouter le chemin de "gs" dans mes "Configurations d'exécution" -> Onglet Environnement et "Ressources liées" (Préférences -> Général -> Espace de travail -> Ressources liées). Vous n'avez aucune idée ... – AEIOU
Avez-vous une idée de la raison pour laquelle l'éclipse peut acquérir le chemin du système et dans quels cas le chemin de l'environnement Eclipse doit-il être défini? –