如何在Java可执行.jar启动多个主程序?

2022-09-02 20:51:57

我正在编写一个包含多个包的程序。每个包都有自己的主程序,我希望在解释器执行.jar时同时启动所有程序。这似乎是一个相当简单的问题,但当我环顾四周时,似乎人们正在使用蚂蚁(我以前从未使用过)和其他方法。Eclipse中是否有更简单的方法来编译具有多个启动配置的.jar,更好的是,有没有办法对其进行硬编码?

如果启动它的最佳方式是通过蚂蚁。如果我想发布,我会写什么样的蚂蚁脚本......比如说 packets com.myapp.package1.main、com.myapp.package2.main 和 com.myapp.package3.main 中的主要程序。提前致谢!


答案 1

jar 清单允许您选择指定不超过一个主类。当您使用标志执行时,将调用它。java-jar

java -jar myapp.jar

您可以在单个 jar 中包含多个主类,但每个主类(上面的可选 1 除外)都必须使用标志和指定的主类的完全限定名进行调用。-classpath

java -classpath myapp.jar com.mypackage.app.Main01 && \
  java -classpath myapp.jar com.mypackage.app.Main02 && \
  java -classpath myapp.jar com.mypackage.app.Main03

上面的示例将生成三个单独的 Java VM,每个 VM 都在自己的进程中。显然,这不符合您对“可执行jar”的要求。

或者,您可能希望有一个启动单独线程的 main 方法,以便只有一个进程,但并发执行。

蚂蚁不是帮助您解决此问题的合适选择。我怀疑你可能想要一个生成多个线程的main方法。请随时提供有关您的要求的更多信息。


答案 2

您可以创建一个主“main”类来执行其余部分。


推荐