我有一个java桌面应用程序,我正试图为它创建一个Mac应用程序包。这个应用程序由两个可运行的jar文件和几个文本和图像文件夹组成。第一个jar充当第二个jar的更新器和启动器,第二个jar是应用程序的主体。应用程序使用各种数据文件和图像,这些文件和图像在应用程序中通过相对路径名引用(例如/ images /bits/xyz.jpg)。
然而,在Mac上,在使用Jar Bundler创建应用程序捆绑包之后,我遇到了让相对路径名工作的问题。我没有使用Mac的个人经验,需要帮助理解在Mac上布置应用程序的标准方法。我注意到,我安装的其他应用程序是以磁盘镜像文件的形式出现的,打开时会显示将应用程序拖入应用程序文件夹的说明。我正在尝试创建一个类似的安装包。提前感谢您的建议。
发布于 2011-07-27 23:04:39
磁盘映像中的拖放指令完全是在转移注意力。一旦正确创建了应用程序包,无论它是在磁盘映像中还是只是被压缩,都无关紧要。
请注意,在Mac上,可执行文件(无论是原生Cocoa还是Java)没有将其当前目录设置为可执行文件的路径。因此,您首先需要获取jar文件的当前绝对路径。为此,在Stack Overflow上已经有了Q&As。例如,参见here。
发布于 2011-07-27 22:56:32
您可能需要一台Mac来创建适当的Java Bundle和DMG文件。下面是一个简单的例子:
http://www.centerkey.com/mac/java/
下面是关于如何使用特定于Mac的Swing特性的教程:http://java.sun.com/developer/technicalArticles/JavaLP/JavaToMac3/
发布于 2015-03-21 16:55:33
作为Pyxis Software的开发人员,我想补充说,我们已经开发了一个解决此问题的应用程序。名为Pyxis Bundler的应用程序将自动将您的jar文件和可选库绑定到一个标准的Mac应用程序中。
您可以选择嵌入JAVAHOME目录中的JRE或选择特定的JRE。虽然这将明显扩大应用程序的大小,但用户不需要在其计算机上预先安装JAVA来运行应用程序。
还可以选择创建现代的Apple Icon图像(多大小的ICNS文件)。
我们将其设计为Jar Bundler应用程序的替代品,该应用程序几年前一直随Xcode一起提供。
Pyxis Bundler将每个唯一的应用程序设置保存到一个首选项文件中,因此,如果您更新Mac应用程序,则只需从下拉列表中选择应用程序名称,即可加载该应用程序以前使用的所有数据。然后简单地递增您的版本号并单击Create按钮。
我要补充的是,对于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
https://stackoverflow.com/questions/6846302
复制相似问题