我想在Java中執行程序,其路徑爲 ,由自定義系統變量(「CHROME」)定義。Java ProcessBuilder和Windows系統變量
new ProcessBuilder("CHROME").start();
Win7的: 工作正常(點應用程序數據\本地)
贏Vista的: 什麼也不做(指向程序文件)
什麼我需要做的,要讓它運行與Vista?
我想在Java中執行程序,其路徑爲 ,由自定義系統變量(「CHROME」)定義。Java ProcessBuilder和Windows系統變量
new ProcessBuilder("CHROME").start();
Win7的: 工作正常(點應用程序數據\本地)
贏Vista的: 什麼也不做(指向程序文件)
什麼我需要做的,要讓它運行與Vista?
在this question建議從cmd.exe
運行程序,即
new ProcessBuilder("cmd.exe", "%CHROME%");
這應該工作,只要%CHROME%
是主Java程序傳遞給子進程的environmente。
我已經嘗試過,不喜歡這個解決方案,因爲你可以' t終止或等待已啓動的進程。我也試過批處理文件.... – Schifty
'新的ProcessBuilder( 「鉻」)開始();'這是一個非常簡單的方式開始了'Process'。不幸的是,結合'簡單'和'過程',它通常會失敗。請參閱[本文](http://www.javaworld.com/jw-12-2000/jw-1229-traps.html)並忽略它在標題中包含'Runtime.exex()'的事實 - 建議全部同樣適用於'ProcessBuilder'。實施所有的建議,如果這本身並沒有解決問題,至少它會提供有用的信息。使用['redirectErrorStream()'](http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html#redirectErrorStream%28%29)。 –
這只是我最小的代碼示例,我實際上使用參數列表,設置工作路徑等...不要擔心;-) – Schifty