簡體   English   中英

如果從OSX App捆綁包運行,ProcessBuilder無法找到文件

[英]ProcessBuilder fails to find file if run from OSX App bundle

我們的應用程序的OSX版本與ProcessBuilder有一個奇怪的問題。 這是在我們切換到universalJavaApplicationStub時開始的。 以前我們使用過AppBundlerTask。 注意:不能做一個示例類,因為您需要構建一個完整的mac應用程序包來查看此結果:

我們啟動該流程的代碼是:

log.debug("render: {}", Arrays.toString(myCommandLine.toArray()));
log.debug("render: dir={}", m_workingDir);
final ProcessBuilder processBuilder = new ProcessBuilder(myCommandLine);
processBuilder.directory(new File(m_workingDir));
final Process process = processBuilder.start();

並且日志輸出如下所示:

render: [/Applications/EFI/Metrix/bin/cli/rasters, --saveasimg, --pagebox=MEDIABOX, --smoothing=All]
render: dir=/Applications/EFI/Metrix/bin/cli/

這導致柵格應用程序向日志拋出錯誤,表明它未從其安裝目錄運行。 (這是第二個日志行中的目錄。)

看起來工作目錄不是我在processBuilder.directory()調用中指定的目錄。

任何人都可以解釋發生了什么?

與應用程序供應商合作,事實證明我現在需要在運行他們的應用程序之前執行“未設置的CFProcessPath”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM