2014-11-06 132 views
0

我是用于Mac开发的Java新手,我花了大量时间找到如何创建安装程序的方法。这很奇怪,但没有太多关于它的信息。所有的方法都导致使用JavaAppLauncher。 (我使用appbundler-1.0.jar和Ant来构建.app)但我遇到了以下问题。适用于MacOS的Java应用程序安装程序

JavaAppLauncher将工作目录设置为用户文件夹。我的应用程序由几个jar文件,资源和配置文件组成。它们都位于.app结构中的Contents/Java中。我使用它们的相对路径,相对于Main类的可执行jar。

我只搜索了2个讨论,其中有人问如何设置.app包内的工作目录。 Threre是在.app包的plist文件中sed -Duser.dir JVM选项的一种方法。我试过这个,它表现很奇怪。当我使用“new File(”。“)。getAbsolutePath()”时 - 它显示了我在-Duser.dir参数中指向的目录,但是当我尝试在磁盘上创建文件或从磁盘读取文件时 - 仍然会转到用户文件夹,因为它是默认情况下。

可能有人知道那里有什么问题吗? 或者有没有更好的方法来为Mac创建一个Java应用程序包? 谢谢,伙计们。

回答

1

使用JarSplice创建OS X应用程序包。将所有的jar和资源编译成一个jar文件并导出为mac .app文件。

JarSplice

部署Java应用程序可以是一个痛苦,如果你的应用程序有多个罐子和机库。有使用Java Web Start或Java Applets的选项,但这些并不总是合适的。 可执行Jar是一个选项,但是如果您的项目有多个JAR或本机文件,那么使用此选项可能会非常棘手。 JarSplice试图通过允许您将所有jar和本机文件合并到一个易于使用的可执行jar文件来解决此问题。

特点:

创建通过一个易于使用的GUI一个可执行的JAR脂肪。 仅自动提取运行JAR的操作系统所需的本机文件。 应用程序退出后自动清理所有提取的本机文件。 在创建jar的过程中添加VM参数,从而不需要通过命令行输入它们。 (可选)使用嵌入式fat jar为Linux创建Shell脚本(.sh)启动程序。 (可选)为运行应用程序创建OS X应用程序包( .app)。 (可选)创建Windows应用程序(* .exe)以运行您的应用程序。

这是我找到的最好的跨平台安装程序创建者。你可以从here得到java可执行文件

+0

非常感谢你,一个好工具! – Artiom 2016-09-22 20:31:40

+0

请upvote并选择作为回答说谢谢朋友! – 2016-12-09 19:46:19