我正在使用ImageMagick的轉換工具來轉換在我的Java程序運行在Mac OS X中的圖像。 我使用以下代碼,我從here改編。ImageMagick轉換退出狀態133
public static void convertToJPG(String originalFile, String newFile) throws Exception {
executeCommand("/usr/local/ImageMagick-6.6.7/bin/convert", originalFile, newFile);
}
private static void executeCommand(String... command) throws Exception {
ProcessBuilder pb = new ProcessBuilder(command);
pb.redirectErrorStream(true);
Process p = pb.start();
int exitStatus = p.waitFor();
System.out.println(exitStatus);
if(exitStatus != 0)
throw new Exception("Error converting image.");
}
然而,當我這樣做,我得到的退出狀態和下面的錯誤消息。我假設這與權限有關,因爲當我從終端運行相同的命令時,它工作正常。
錯誤消息:
dyld: Library not loaded: /ImageMagick-6.6.7/lib/libMagickCore.4.dylib
Referenced from: /usr/local/ImageMagick-6.6.7/bin/convert
Reason: image not found
編輯:好了,事實證明,我得到上面的錯誤消息,由於Java的不能夠看到DYLD_LIBRARY_PATH
環境變量。所以我重新啓動Eclipse,一切正常。
哇,這很有道理,不能相信我沒有想到它。謝謝!我會在今天嘗試。 – DanielGibbs 2011-02-10 19:31:25
啊哈!我現在有一個錯誤信息!以上更新。 – DanielGibbs 2011-02-10 20:20:53