如何创建可以通过单击运行的Java应用程序?

Rom*_*man 9 java jar

我想有一个可以轻松启动的Java应用程序.

到目前为止,我已设法创建一个jar文件,但我还没有看到任何优势.在我通过"java HelloWorldSwing"运行我的应用程序之前,现在我使用"java -jar HelloWorldSwing.jar"(这比上一个命令更复杂,据我所知,jar文件的使用需要存在*.mf文件在同一目录中).

我想有以下两种情况之一:

  1. 只需一个文件即可复制到另一个操作系统,只需在文件浏览器中单击此文件即可启动项目(此时如果点击我的jar文件,Ubuntu开始提取存档(因为jar是一个存档) , 我知道)).

  2. 创建一个象形图,可以放在桌面上,然后单击它启动我的Java程序.

ewe*_*nli 9

制作一个没有依赖可执行文件的jar是相对容易的.你基本上只需要MANIFEST在主类中指定使用.然后可以启动它java -jar ExecutableJar.jar,但大多数操作系统支持在这种情况下双击.

制作一个依赖于其他jar可执行文件的jar更加棘手.您可以在中指定类路径MANIFEST,但仍然意味着您需要复制多个jar来分发您的应用程序.另一种方法是在主罐中"包装"悬浮罐.

您可以使用mavenmaven-assembly-plugin完成所有这些操作.使用jar-with-dependencies预配置的描述符.

<configuration>
     <descriptorRefs>
             <descriptorRef>jar-with-dependencies</descriptorRef>
     </descriptorRefs>
</configuration>
Run Code Online (Sandbox Code Playgroud)

主类可以用以下内容指定:

<archive>
     <manifest>
        <mainClass>org.company.MyClass</mainClass>
     </manifest>
 </archive>
Run Code Online (Sandbox Code Playgroud)

编辑:pom.xml这个问题中可以找到完整的.


Jee*_*raj 2

这里有一些链接可能会帮助你..

JSmooth 是一个 Java 可执行包装器。它创建本机 Windows 启动器

http://jsmooth.sourceforge.net/
Run Code Online (Sandbox Code Playgroud)

跨平台 Java 可执行包装器

http://launch4j.sourceforge.net/


http://www.captain.at/programming/java/executable-java-application.php
Run Code Online (Sandbox Code Playgroud)