我有一个基于SWT的Java应用程序,适用于Windows,Mac OS和Linux。我在我的Windows机器上开发它,并且有一个带Linux的测试仪和带Mac的测试仪。目前,我的进程为我的Windows机器上的每个平台创建了一个可运行的.jar文件(它引用了来自Eclipse.org的特定于平台的.jar和lib文件)。我有一个适用于Windows的工作安装程序 - 也是由Windows机器上的构建产生的。我想为我的Mac用户创建一个标准的Mac OS安装程序。正确的方法似乎是创建一个.app包并通过dmg文件分发它。这进展不顺利。我有一个使用SWT的工作Java应用程序,可以在所有平台上从命令行运行。我有一种在Windows上构建.dmg的方法。但到目前为止,我所有尝试使用.app包都失败了。
我开始关注本教程:http://www.eclipse.org/swt/macosx/
但是在运行我的应用程序时,我收到一条错误消息,指出不支持Power PC的应用程序。这是使用相同的二进制文件,使用java -jar从命令行工作,所以问题必须是我捆绑的方式。页面中的示例Hello应用程序也无法正常工作,但会显示不同的错误消息。
我一整天都在寻找并发现了这个充满希望的演讲:http://www.parleys.com/#st=5&id=2891&sl=72
在那次演讲中,演讲者表示将有一种方法可以在任何平台上使用标准java启动器创建Mac OS .app软件包。但是我找不到任何这样的东西了。
我发现这篇文章看起来也很有希望:http://www.intransitione.com/blog/take-java-to-app-store/
但是这个配方说除了在Mac OS机器上构建之外它不会起作用。
我想要做的是在Windows机器上为Mac OS X创建一个.app包以及Windows安装和Linux安装。最好还包括一个jre作为app bundle的一部分(我已经为Windows和Linux工作)。我希望有人能指出我正确的方向。
答案 0 :(得分:4)
你见过this吗?
.app只是一个具有特殊结构的目录,有一些特殊文件。一旦你创建了它,你只需要在每次构建时更新JAR,可以在这里找到:MyApp.app/Contents/Resources/Java/MyJar.jar。
My.app/Contents/Info.plist中还会有一些特定于Java的属性,但您可能不需要从最初设置它们的方式进行更改。