【问题标题】:How can I create a Java .app bundle for Max OS X on my windows build machine如何在我的 Windows 构建机器上为 Mac OS X 创建 Java .app 包
【发布时间】:2012-11-19 03:39:46
【问题描述】:

我有一个基于 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 工作)。我希望有人能指出我正确的方向。

【问题讨论】:

    标签: java macos installation swt dmg


    【解决方案1】:

    你见过this吗?

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

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

    【讨论】:

    • 是的,我知道并获得该模板集的特殊文件和 java 特定属性是什么让我望而却步。我查看的示例链接not 有效。我希望有人能指出我正确的方向。
    • @IanLeslie Apple 曾经有一个名为 JarBundler 的应用程序,您可以使用它来打包您的 Java 可执行文件,但他们已经停止使用它。我相信我发布的链接是 Oracle 创建 .app 的替代解决方案。
    • 谢谢@whiskeyspider。我已经成功地将 Swing 应用程序构建为一个捆绑包,现在正在开发我的 SWT 应用程序。
    • 感谢 Jar Bundler 提示 @whiskeyspider。我去聚光灯下搜索“jarbundler”并找到一个具有该名称的文件夹。里面是一个工具,它要求我提供 jar 文件和一个图标,然后创建包。最困难的部分是将 png 转换为 icns。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-17
    • 1970-01-01
    • 2015-07-31
    • 1970-01-01
    相关资源
    最近更新 更多