我有一个带有以下代码的类:
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) 版权所有 (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”,它可以工作。但是“gs”没有。只有在eclipse中我才有这个问题。
关于我需要做些什么来解决这个问题的任何想法?