我試圖使用Java運行外部程序Decoder.exe: 調用Runtime.getRuntime()EXEC( 「C:\ FULLPATH和那麼在\ Decoder.exe -h」 );像這樣:的Java的Runtime.exec導致程序崩潰
try{
Process p = Runtime.getRuntime().exec("C:\\fullpath-and-so-on\\Decoder.exe -h");
}
catch(Exception e){
e.printStackTrace();
}
這適用於我試過的所有其他程序。但是,每當我從java執行它Decoder.exe崩潰。 java執行正常,不會產生任何異常,但被調用的程序Decodes.exe停止工作。程序Decoder.exe在單獨的cmd窗口中運行時可以很好地執行。
有沒有人有類似的問題的經驗嗎?當java運行exec和程序在cmd.exe中運行時,有什麼不同?有沒有已知的解決方法,或者我只是在某個地方犯了錯誤?
非常感謝任何幫助! BR, Fredrik
你有什麼會發生任何錯誤導致?執行環境可能與程序運行的文件夾略有不同。 – marsbear 2011-05-29 15:37:35
沒有領先的東西。由於它是停止工作的被調用程序,所以我沒有獲得堆棧跟蹤。由於使用Decoder.exe的完整路徑,我認爲當前路徑無關緊要(?) – liket 2011-05-29 16:14:23