我想從我的Java Web應用程序運行C++可執行文件。當我進入相關頁面時,它會執行命令並運行可執行文件,但不會產生任何輸出。從Java運行C++可執行文件時沒有錯誤或輸出
這裏是我的代碼:
URL createWav = QRcodeController.class.getClassLoader().getResource("createWav");
log.info("The path of the c++ executable obtained: "+ createWav.getPath());
Process p1 = Runtime.getRuntime().exec("chmod 777 " + createWav.getPath());
p1.waitFor();
int exitVal=1;
try {
Process p2 = Runtime.getRuntime().exec(createWav.getPath(), args);
exitVal = p2.waitFor();
}
catch (Exception e)
{
log.error(e.getStackTrace());
}
if(exitVal == 1)
throw new Exception("Error in c++ program");
所以C++程序運行正常,但它不會產生它應該是文件它不會引發任何錯誤。當我在同一臺機器上從命令行運行相同的命令時,它完美地生成了所需的文件。我不確定我做錯了什麼。
你可以用硬編碼路徑重試嗎?這可能是由Java程序創建的文件,但位於不同的位置。 – Stefan
它無法運行該程序,因此我無法找到該文件。謝謝。 – ishan