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

时间:2014-01-15 08:38:12

标签: java executable-jar

我有一个可运行的Jar,我想从另一个java应用程序调用它。我试过这个解决方案

[link] how to run a java executable jar in another java program

我能够执行jar但似乎线程处于死锁状态并且它从不生成输出。谁能帮助我呢?

3 个答案:

答案 0 :(得分:1)

您可以使用普通Java中的ProcessBuilder或使用ZeroTurnaround中的zt-exec库。第二个工具允许您轻松添加例如执行超时,设置退出值等

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

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

第二名:

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

答案 1 :(得分:0)

另一种方法是,如果您知道具有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
    }
}

答案 2 :(得分:0)

我找到了解决方案。我已经更新了我的JDK,然后调用了jar它就可以了。谢谢大家的帮助和时间。