2016-03-07 51 views
0

我一直在努力尋找原因,我的Java應用程序不使用默認的PATH環境變量。我需要它用ProcessBuilder啓動另一個程序。現在,我得到「Cannot run program "..." error=2, No such file or directory」,雖然我可以運行從終端這個程序。我使用的是JDK 1.8,Netbeans的8.1,OS X.Java應用程序沒有使用正確的PATH環境變量

這裏是System.out.println(System.getenv("PATH"));輸出: /usr/bin:/bin:/usr/sbin:/sbin

在終端(使用echo $PATH)PATH的實際值是更長的時間,並且包含路徑到所需的可執行文件

我發現了一些問題處理同一問題,但沒有人能幫助我。

任何幫助表示讚賞!

+0

你如何運行你的程序? –

+0

仍處於開發階段,所以我使用Netbeans - 運行項目。我應該在沒有IDE的情況下啓動它嗎? –

+0

是的。它可能是Netbeans設置PATH變量。 –

回答

0

路徑由你運行任何外殼創建的,但它的ProcessBuilder一個殼體內notrun,因此沒有附加到,解決您的節目名稱的路徑。您可以爲ProcessBuilder提供一個環境,但不相信它會讓您找到PATH中的程序。在我的項目,我必須提供一個完全合格的路徑]

[注意:里程可能會有所不同,我似乎記得有Windows和Linux之間有些不同結果的* nix之間,以及不同的*十九]