У меня есть класс со следующим кодом:
Process process = null;
try {
process = Runtime.getRuntime().exec("gs -version");
System.out.println(process.toString());
} catch (Exception e1) {
e1.printStackTrace();
} finally {
process.destroy();
}
Я могу запустить "gs -version" в моей командной строке и получить:
GPL Ghostscript 8.71 (2010-02-10)
Copyright (C) 2010 Artifex Software, Inc. Все права защищены.
Итак, я знаю, что у меня, по крайней мере, указан путь.
Я могу запустить этот класс из командной строки, и он работает. Но когда я запускаю его с помощью eclipse, я получаю следующую ошибку:
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
В моей программе я могу заменить "gs" на: "java", "mvn", "svn", и это работает. Но "гс" нет. Это только в затмении у меня есть эта проблема.
Есть идеи, что мне нужно сделать, чтобы решить эту проблему?