我有一个java桌面应用程序,我正在尝试创建一个Mac应用程序包。该应用程序由两个可运行的jar文件和几个文本和图像文件夹组成。第一个jar用作第二个jar的更新器和启动器,这是应用程序的主要部分。应用程序使用各种数据文件和图像,这些文件和图像在应用程序中通过相对路径名称引用(例如./images/bits/xyz.jpg)。
但是,在Mac上,在使用Jar Bundler创建应用程序包后,我无法获得相对路径名。我没有使用Mac的个人经验,需要帮助理解在其上布置应用程序的标准方法。我注意到我安装的其他应用程序作为磁盘映像文件打开,其中包含将应用程序拖动到应用程序文件夹的说明。我正在尝试创建一个类似的安装包。提前感谢您的建议。
答案 0 :(得分:0)
您可能需要Mac才能创建正确的Java Bundle和DMG文件。 这是一个简单的例子:
http://www.centerkey.com/mac/java/
这是一个关于如何使用特定于Mac的Swing功能的教程: http://java.sun.com/developer/technicalArticles/JavaLP/JavaToMac3/
答案 1 :(得分:0)
在磁盘映像中拖放指令是一个完整的红色鲱鱼。一旦正确制作了应用程序包,无论它是在磁盘映像中还是刚刚压缩都无关紧要。
请注意,在Mac上,可执行文件(无论是本机Cocoa还是Java)的当前目录都没有设置为可执行文件的路径。所以,首先需要获取jar文件的当前绝对路径。为此,Stack Overflow上已经有Q& As。参见例如here
答案 2 :(得分:0)
作为Pyxis Software的开发人员,我想补充说我们开发了一个解决这个问题的应用程序。名为Pyxis Bundler的应用程序将自动将您的jar文件和可选库捆绑到标准Mac应用程序中。
您可以选择从JAVAHOME目录中嵌入JRE或选择特定的JRE。虽然这会明显扩大应用程序的大小,但用户无需在其计算机上预安装JAVA即可运行您的应用程序。
还可以选择创建现代Apple Icon图像(多尺寸ICNS文件)。
我们将其设计为Jar Bundler应用程序的替代品,该应用程序曾在多年前与Xcode一起提供。
Pyxis Bundler将每个唯一的应用程序设置保存到首选项文件,因此,如果或更新Mac应用程序,只需从下拉列表中选择应用程序名称即可加载该应用程序的所有以前使用的数据。然后只需增加版本号,然后单击“创建”按钮。
我应该在Pyxis Bundler中添加它,你必须使用正确的包名。
此处提供更多信息: https://explorepyxis.com/shop http://www.pyxis.ie/explore/index.php/software/pyxis-jar-bundler
您可以在此处查看如何命名包裹:https://docs.oracle.com/javase/tutorial/java/package/namingpkgs.html