我想从另外2个可执行jar文件创建一个可执行jar文件。所以我在一个博彩项目工作,我有2个项目,客户端和监视器。我创建了它们的jar文件,一切正常。但是有没有一种方法来组合他们的jar文件,这样我就可以从一个jar文件运行,这样我就不必每次都运行client.jar和monitor.jar?
可以将这两个jar文件合并为一个jar文件,但是,如果没有通过命令行指定主类,则每个jar文件只能运行一个主类。
这意味着你必须创建一个新的主类来执行之前的两个主类,或者用不同的参数运行同一个jar文件两次。
但是,我不建议将这两者结合起来。这两个单独的项目是有原因的,所以你为什么要把它们结合起来呢?另外,如果一个jar文件崩溃了,另一个还会运行。
如果你还想合并这两个,我看到两个选项:
- 您可以创建第三个项目(我假设maven?),它依赖于两个项目并包含新的主类 或者,如果您遇到类加载问题,因为第一种方法将把jar放到jar文件中,您可以使用maven shade插件获得一个平面jar文件。这有时是必要的,如果你使用第三方库,你不能控制如何加载资源。
创建另一个项目,并将这两个jar文件包含在第三个项目的类路径中。
现在您可以从jar A和jar B中复制相同的main
方法代码,并将其粘贴到jar c的main
方法中。现在您可以只运行jar c。
但是有一种方法来组合他们的jar文件,所以我可以运行从1jar
没有简单的方法,只能解压缩,然后得到所有jar文件的所有内容,然后再次压缩到一个jar中。
你需要小心合并你的Manifest。定义main类入口点的MF文件。
注:但我不确定如果你将能够有2个主要类在你的清单文件。您可能必须通过类路径执行例子。
我为java使用netbeans。您想要的最简单的方法是创建新项目并将2个jar文件作为库添加到您的项目