我想从我的java应用程序中执行一个外部jar文件。jar (程序2)应该在执行以下代码(程序1)时立即启动:
Process proc = Runtime.getRuntime().exec("c:\\program files\\java\\jre1.8.0_161\\bin\\java -jar C:\\DocumentCloud\\Workspace\\Wordseller_V2\\wordseller_2.jar " + fileName);奇怪的是,上面的代码并没有立即启动prgram 2。相反,程序2将在程序1完成/关闭后启动。我觉得这种行为很奇怪,但我找不到解决这个问题的方法。我已经尝试从一个单独的线程启动program2,但这并不管用。
您的支持将不胜感激。在此之前非常感谢。
Bet问候
uli
发布于 2019-09-21 00:05:34
在没有更多信息的情况下回答这个问题真的很难,但是根据您所显示的代码,问题很可能是因为您没有在进程上调用waitFor(),所以您的程序异步地启动了这个过程,并完成了。如果你想让你的程序等待另一个进程完成,你必须阻塞你的程序的主线程。
https://stackoverflow.com/questions/58031683
复制相似问题