我想要一个可以轻松启动的
Java应用程序.
到目前为止,我已经设法创建了一个jar文件,但我看不到任何好处.在“java HelloWorldSwing”运行我的应用程序之前,我使用“java -jar HelloWorldSwing.jar”(这比以前的命令更为复杂,据我所知,jar文件的使用需要存在* .mf文件在同一个目录下).
我想要有以下两种情况之一:
>只需一个文件即可复制到另一个操作系统,并且可以通过在文件浏览器中单击此文件来启动该项目(目前如果单击我的jar文件,Ubuntu将开始提取存档(因为jar是一个档案,我知道)).
>创建可以放在桌面上并点击哪个启动Java程序的象形图.
解决方法
制作一个没有依赖关系的jar可执行文件比较容易.你基本上只需要在MANIFEST中指定要使用的主类.然后可以使用java -jar ExecutableJar.jar启动,但是大多数操作系统支持在这种情况下双击.
制作一个取决于其他jar可执行文件的jar是比较棘手的.您可以在MANIFEST中指定类路径,但这仍然意味着您需要复制多个jar来分发您的应用程序.另一种方法是在主容器中“包装”可靠的罐子.
您可以使用maven和maven-assembly-plugin完成所有操作.使用预配置的descriptor的jar-by-dependencies.
<configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration>
主类可以指定如下:
<archive> <manifest> <mainClass>org.company.MyClass</mainClass> </manifest> </archive>
编辑:一个完整的pom.xml可以在this question找到.