【发布时间】:2014-07-02 09:26:59
【问题描述】:
ImageMagick 命令不适用于 JAVA 代码。
Runtime.getRuntime().exec("compare /Users/labuser/Downloads/test.jpg /Users/labuser/Downloads/test1.jpg /Users/labuser/Downloads/differnce.jpg");
例外:
java.io.IOException: Cannot run program "compare": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1041)
当我从终端尝试时,它工作正常并在指定路径中生成输出文件。 我已经验证了 echo $PATH 并且它设置为
PATH=/opt/local/bin:/opt/local/sbin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/opt/ImageMagick/bin
任何人请建议我是否需要添加一些东西才能从终端执行这些命令? 对于其他命令,它可以从终端正常工作,并且仅使用 imageMagick 命令会出错
【问题讨论】:
-
由于
exec对您的shell 的$PATH一无所知,您可能希望使用来自which compare的完整路径。
标签: java macos command-line terminal imagemagick