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

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

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

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

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

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

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

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

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

   jar-with-dependencies   

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

   org.company.MyClass   

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

我其实非常喜欢maven如何创建它们: http : //maven.apache.org/shared/maven-archiver/examples/classpath.html#Make

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

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

 http://jsmooth.sourceforge.net/ 

跨平台Java可执行包装器

 http://launch4j.sourceforge.net/ http://www.captain.at/programming/java/executable-java-application.php 

Launch4J允许您在许多平台上启动JAR。

它被称为WebStart ,

但是,它并不完全符合您的描述。 它不提供应该存在的自包装解决方案。

PS。 我个人认为可执行jar是一个玩笑,你无法控制vmargs,不能有一个好的图标,你甚至不知道它是可执行的,直到它被解包并尝试执行。

您可以创建可执行jar文件,如下所述:

http://csdl.ics.hawaii.edu/~johnson/613f99/modules/04/jar-files.html

然后,如果操作系统和用户的安全设置允许,用户可以在文件浏览器中单击它并启动主类。

你必须创建一个可执行jar,在jar的manifest文件中提到你的主类(即带有main()方法的公共类)作为Main-Class。 所以当prople双击它或在命令控制台中键入:jar“你的jar名称”然后他们将执行它。