java - 如何从java应用程序中执行可以运行的jar

  显示原文与译文双语对照的内容

我有一个可以运行的jar,我想从另一个java应用程序中调用它。 我已经尝试过这个解决方案

[link] 如何在另一个java程序in中运行java可以执行的jar

我能够执行 jar,但是线程处于死锁状态,而且它不会生成输出。 谁能帮我这个忙?

时间: 作者:

从普通Java或者使用像 zt-exec 这样的库,你可以从ZeroTurnaround使用 第二个工具允许你轻松地添加执行超时。设置退出值等等

在第一种情况下,它看起来像:


Process p = new ProcessBuilder("java","-jar myjar.jar").start();
p.start();


new ProcessExecutor().command("java -jar myjar.jar").execute();

作者:

如果知道具有 main 方法的类,则程序将调用 main 方法形式的jar 。

Example.java


public void test() {
 String[] starr = <- if you have some parameter
 ProgramInJar.main(starr);
}

mytest.jar


public class ProgramInJar {
 public static void main(String[] args) {
//your operation
 }
}

作者:

我已经找到了解决方案。 我已经更新了我的JDK,然后调用了 jar,。 感谢你的帮助和时间。

作者:
...