从Java应用程序启动外部jar文件
我想从我的一个java应用程序执行一个外部jar文件。当执行以下代码(程序1)时,应立即启动jar(程序2): 奇怪的是,prgram 2不是用上述代码立即启动的。相反,程序2将在程序1完成/关闭后启动。我觉得这种行为很奇怪,但我找不到解决问题的办法。我已经尝试从一个单独的线程启动program2,但这没有帮助 我们将感谢您的支持。先谢谢你 博特问候从Java应用程序启动外部jar文件,java,jar,external,Java,Jar,External,我想从我的一个java应用程序执行一个外部jar文件。当执行以下代码(程序1)时,应立即启动jar(程序2): 奇怪的是,prgram 2不是用上述代码立即启动的。相反,程序2将在程序1完成/关闭后启动。我觉得这种行为很奇怪,但我找不到解决问题的办法。我已经尝试从一个单独的线程启动program2,但这没有帮助 我们将感谢您的支持。先谢谢你 博特问候 uli如果没有更多信息,很难回答这个问题,但是根据您显示的代码,问题很可能是因为您没有在进程上调用waitFor(),所以您的程序正在异步启动此进
uli如果没有更多信息,很难回答这个问题,但是根据您显示的代码,问题很可能是因为您没有在进程上调用
waitFor()
,所以您的程序正在异步启动此进程,并完成此进程。如果您希望程序等待另一个进程完成,则必须阻塞程序的主线程 为什么不直接导入jar作为项目的依赖项并直接运行您想要的呢?不需要启动一个全新的流程。High,出于某种原因(这里解释起来有点复杂),我需要启动一个单独的流程,当然不能使用您的访问库的窒息解决方案。嗨,我现在添加了proc.waitFor();但是现在,jar不再执行了。奇怪。
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);