我被问到我的问题了。但是我找不到正确的答案。
我有一个Java Maven应用程序,将运行EXE文件内部代码。我使用了Runtime.getRuntime().exec
。应该没事的当您构建一个jar文件并运行它时,它运行良好。但是,当您通过自己的应用程序制作exe
文件时,问题就会显现出来。
我想从Java应用程序(我使用过Launch4j
)创建一个执行文件,并在其内部运行某些内容,例如运行另一个exe文件。不幸的是,上述代码无法正常工作,并且我还没有收到任何错误。
Process proc = Runtime.getRuntime()
.exec("cmd /c start \"\" \"" + destinationPath + "\\run_service.exe\"");
BufferedReader stdInput = new BufferedReader(new InputStreamReader(proc.getInputStream()));
// Display Errors in logfile
BufferedReader stdError = new BufferedReader(new InputStreamReader(proc.getErrorStream()));
// read the output from the command
logger.info("Here is the standard output of the Process:\n");
String msg = null;
while ((msg = stdInput.readLine()) != null) {
logger.info(msg);
}
// read any errors from the attempted command
logger.info("Here is the standard error of the Process (if any):\n");
while ((msg = stdError.readLine()) != null) {
logger.info(msg);
}
如果有人对此有更多的了解,请告诉我。