[英]How to execute main method of a Runnable JAR from a different Java code?
[英]How to execute an runnable jar from java application
我有一个可运行的Jar,我想从另一个Java应用程序中调用它。 我已经尝试过这种解决方案
[link] 如何在另一个Java程序中运行Java可执行jar
我能够执行jar,但似乎线程处于死锁状态,并且永远不会生成输出。 有人可以帮我吗?
您可以使用纯Java中的ProcessBuilder或使用ZeroTurnaround中的zt-exec之类的库。 第二个工具可让您轻松添加例如执行超时,设置退出值等
在第一种情况下,它看起来像:
Process p = new ProcessBuilder("java", "-jar myjar.jar").start();
p.start();
第二:
new ProcessExecutor().command("java -jar myjar.jar").execute();
换句话说,如果您知道具有main
方法的类,则程序将调用jar形式的main
方法。
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并成功了。 谢谢大家的帮助和时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.