3

我有一个基于 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 作为应用程序包的一部分(我已经为 Windows 和 Linux 工作)。我希望有人能指出我正确的方向。

4

1 回答 1

4

你见过这个吗?

.app 只是一个具有特殊结构的目录和一些特殊文件。创建完成后,您只需在每次构建时更新 JAR,可在此处找到:MyApp.app/Contents/Resources/Java/MyJar.jar。

在 My.app/Contents/Info.plist 中还会有一些 Java 特定的属性,但您可能不需要从最初设置它们的方式更改这些属性。

于 2012-11-30T21:41:07.903 回答