我制作了一个Java应用程序,我想在Windows,OSX和Linux上分发而不分发jar文件。我使用了很棒的Windows exe包装器http://launch4j.sourceforge.net/创建了一个带有我的图标的.exe文件,不会吓到Windows用户。
我可以用于OSX / Unix的类似包装器吗?一个重要的考虑因素是我想在可执行文件上有自己的图标(特别是对于mac用户)。
谢谢!
答案 0 :(得分:30)
是的,在Mac OS X上有一个名为Jar Bundler的程序在安装免费软件时安装(假设您已拥有Mac OS X的副本)Xcode Developer Tools允许您捆绑本机Mac OS X“* .app”应用程序包中的JAR文件,其中包含一个漂亮而有光泽的图标,就像其他应用程序一样。
更新的
在OS X的更高版本中不存在JAR捆绑器。作为解决方法,您可以手动创建调用Java的OS X项目。或者,有各种类似的构建系统扩展;例如,Gradle的gradle-macappbundle插件将创建一个这样的包装器应用程序。
答案 1 :(得分:8)
JarBundler已经过时,但有一个(更好的)官方替代品:javapackager工具。
对于OSX,这里有一个关于如何从java创建DMG的简单,详细解释的分步教程:http://centerkey.com/mac/java/。对于其他平台,您只需要使用javapackager中的正确开关修改示例。
答案 2 :(得分:5)
如果您没有Mac来构建它(或想要将其集成到现有构建链中),您可能需要查看OS X Application Bundle Plugin for Maven。
这将(如果在Linux或Windows上运行)创建一个拉链,将作为正确的Mac应用程序解压缩。如果你在Mac上运行Maven,它也可以制作DMG。
答案 3 :(得分:3)
您还可以使用JarBundler Ant任务打包应用程序:
http://informagen.com/JarBundler
<jarbundler dir="release"
name="MyApp"
mainclass="org.foo.myapp.Main"
jar="myapp.jar" />
答案 4 :(得分:1)
Github用户Jorl17创建了一个名为jar2app的优秀Python脚本,只需一个简单的命令即可完成。它甚至可以让您自定义应用程序图标。
https://github.com/Jorl17/jar2app
只需安装它,按照说明操作即可获得.app文件。