Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从Java应用程序启动外部jar文件_Java_Jar_External - Fatal编程技术网

从Java应用程序启动外部jar文件

从Java应用程序启动外部jar文件,java,jar,external,Java,Jar,External,我想从我的一个java应用程序执行一个外部jar文件。当执行以下代码(程序1)时,应立即启动jar(程序2): 奇怪的是,prgram 2不是用上述代码立即启动的。相反,程序2将在程序1完成/关闭后启动。我觉得这种行为很奇怪,但我找不到解决问题的办法。我已经尝试从一个单独的线程启动program2,但这没有帮助 我们将感谢您的支持。先谢谢你 博特问候 uli如果没有更多信息,很难回答这个问题,但是根据您显示的代码,问题很可能是因为您没有在进程上调用waitFor(),所以您的程序正在异步启动此进

我想从我的一个java应用程序执行一个外部jar文件。当执行以下代码(程序1)时,应立即启动jar(程序2):

奇怪的是,prgram 2不是用上述代码立即启动的。相反,程序2将在程序1完成/关闭后启动。我觉得这种行为很奇怪,但我找不到解决问题的办法。我已经尝试从一个单独的线程启动program2,但这没有帮助

我们将感谢您的支持。先谢谢你

博特问候


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);