我是Java for Mac开发的新手,我花了很多时间找到如何创建安装程序的方法。它很奇怪,但它没有太多的信息。所有方法都导致使用JavaAppLauncher。 (我使用appbundler-1.0.jar和Ant来构建.app)但是我遇到了以下问题。
JavaAppLauncher将工作目录设置为用户文件夹。我的应用程序包含几个jar文件,资源和配置文件。它们都位于.app结构内的Contents / Java中。相对于Main类的可执行jar,我使用它们的相对路径。
我只搜索了2个讨论,有人问如何在.app包中设置工作目录。 Threre是一种在.app包的plist文件中使用sed -Duser.dir JVM选项的方法。我试过这个,它表现得很奇怪。当我使用" new File("。")。getAbsolutePath()" - 它显示了我在-Duser.dir参数中指向的目录,但是当我尝试在磁盘上创建文件或从磁盘读取文件时 - 它仍然会默认进入用户文件夹。
可能有人知道那里有什么问题吗? 或者有没有更好的方法来为Mac创建一个Java应用程序包? 感谢你们。答案 0 :(得分:2)
使用JarSplice创建OS X应用程序包。将所有jar和资源编译到一个jar文件中,然后导出为mac .app文件。
如果您的应用程序具有多个jar和本机库,那么部署Java应用程序会很麻烦。有使用Java Web Start或Java Applet的选项,但这些并不总是合适的。 可执行Jars是一个选项,但是如果您的项目有多个jar或本机文件,那么使用此选项可能会很棘手。 JarSplice试图通过允许您将所有jar和本机文件合并到一个易于使用的可执行jar文件来解决此问题。
特点:
通过易于使用的GUI创建单个可执行的胖jar。 自动仅提取运行jar的操作系统所需的本机文件。 应用程序退出后自动清除任何提取的本机文件。 在jar创建时添加VM参数,这样就无需通过命令行输入它们。 (可选)为嵌入式胖jar的Linux创建一个Shell脚本( .sh)启动程序。 (可选)创建OS X App Bundle( .app)以运行您的应用程序。 (可选)创建用于运行应用程序的Windows应用程序(* .exe)。
这是我发现的最好的跨平台安装程序创建者。您可以从here
获取java可执行文件