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

| 我正在编写一个包含多个程序包的程序。每个程序包都有自己的主程序,当解释器执行.jar时,我希望所有程序同时启动。这似乎是一个相当简单的问题,但是当我环顾四周时,似乎人们正在使用蚂蚁(我以前从未使用过)和其他方法。 Eclipse中有没有更简单的方法来编译具有多个启动配置的.jar,更好的是,有没有一种方法可以对其进行硬编码? 如果最好的启动方式是通过蚂蚁。如果要启动,我会写什么样的ant脚本...说包com.myapp.package1.main,com.myapp.package2.main和com.myapp.package3.main中的主程序。提前致谢!     
已邀请:
jar清单允许您选择指定不超过一个主类。当您用
-jar
标志执行
java
时,将调用此函数。
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,每个Java VM都在各自的进程中。显然,这不符合您对“可执行jar”的要求。 另外,您可能希望有一个主要方法来启动单独的线程,以便只有一个进程,但是并发执行。 蚂蚁不是帮助您解决此问题的合适选择。我怀疑您可能想要一个产生多个线程的主方法。随时提供有关您要求的更多信息。     
您可以创建一个主\“ main \”类来执行其余的。     
可能我会坚持使用MANIFEST解决方案,但是还有另一种可能的方法:
Process p = Runtime.getRuntime().exec(\"java -jar another.jar\");
但是在这里,您应该注意路径并正确结束进程,否则您的计算机可能会达到文件描述符的限制。     

要回复问题请先登录注册