這真的很奇怪,吃掉我的大腦。我正在使用Runtime.exec啓動另一個jvm,即使沒有啓動,它也會悄然退出。Runtime.exec失敗,沒有任何異常/警告/錯誤代碼
p = Runtime.getRuntime().exec("java classname", null, new File(workdir));
該過程立即退出。我簡要地看到taskmanager中的進程,並且它關閉。我甚至試圖捕獲輸出。
BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream()));
String errString = "Error Details:\n";
String line;
while((line = br.readLine()) != null)
errString = errString.concat(line).concat("\n");
在第一次readline調用時該行爲null。我知道我可以使用ProcessBuilder,但是我在java 1.4上,而我不能爲1.5。請幫忙。
感謝,Bikash
嘗試閱讀錯誤流來查看發生了什麼。 – MByD 2012-02-16 14:40:27
嘗試使用getErrorStream – 2012-02-16 14:46:13
exec()的第一個參數是進程可執行文件,即'java'或'java.exe',而不是要執行'main()'的Java類的名稱。 – hmjd 2012-02-16 14:47:24