請考慮以下從Eclipse運行的代碼片段。運行不存在的jar不會導致任何期望/錯誤
即使外部jar文件不存在,也不會拋出異常並且process
不爲空。 這是爲什麼?
try {
Process process = Runtime.getRuntime().exec("java -jar NonExisting.jar");
if (process == null)
System.out.println("process = null");
else
System.out.println(process);
} catch (IOException e) {
System.err.println(e);
}
它打印
[email protected]
如果我命令行manully運行它,然後有一個錯誤:創建和成品
C:\Users\workspace\Project\src>java -jar NonExisting.jar
Error: Unable to access jarfile NonExisting.jar
因爲java進程正在運行/執行。如果您嘗試運行不存在的可執行文件,則會出現錯誤。你必須檢查java.exe **退出代碼**。 –
作爲一般性提示,請按照鏈接從[exec info]鏈接到JavaWorld文章。頁面](http://stackoverflow.com/tags/runtime.exec/info)並按照**所有**的建議。如果該守則已經這樣做,結果將會更加清晰。另外,除非您打算支持1.4,否則使用'ProcessBuilder'來創建'Process'並將'String'參數分隔成一個'String []'。 –