8

我想在不使用 Mac 的情况下为 Mac 创建 Java 应用程序包。

根据Mac OS X 的 Java 部署选项,我可以使用 Xcode、Jar Bundler 或从命令行执行此操作。设置好文件和文件夹后,我所需要的命令行方法就是调用 /Developer/Tools/SetFile。Linux 或 Windows 上是否有 SetFile 克隆?如果没有,我必须得到一个Mac吗?

4

4 回答 4

6

OS X 上的 Java 应用程序包只不过是一个包含 .jar 和许多配置文件的目录。SetFile 工具在目录上设置一个自定义 HFS 文件系统属性,以告诉 finder 它是一个应用程序,但给它一个“.app”扩展名也可以达到同样的目的。我认为没有什么能阻止你在 Windows 上构建一个,虽然你当然无法测试它是否有效,但如果你能够在真正的 Mac 上至少测试一次,那么你可以可以想象,在 Windows 上更新其中的 .jar 以反映代码更改,而不会有太大的困难。

查看Bundle Programming Guide了解更多信息。

于 2008-09-02T11:48:56.990 回答
0

一种方法是使用例如 Ant 的应用程序生成一个 zip 文件。在 ant 中,您可以使用类似 filemode="755" 的方式指定 Contents/MacOS 中的文件应该具有执行权限。

于 2008-09-02T12:11:38.947 回答
0

NITE的 Mac 端口上工作过,我可以说其他平台的 jar 包应该在 Mac 上同样好用。我仍然建议找到一个用于测试的 mac(或者甚至宣布 mac 支持处于 beta 版),因为我们在移植期间发现了一些仅限 mac 的怪癖(与我们已经发现的仅限 windows 和 linux 的怪癖一起使用)

于 2008-09-02T12:16:15.190 回答
0

从技术上讲,您不需要 Mac。OS X 中的应用程序只需要一个特定的文件夹结构和一个XML 文件。但是,Mac 有一个非常棒的工具,叫做Jar Bundler。除了设置捆绑目录和 XML 文件之外,它还创建了一个 C 可执行文件,该可执行文件通过 JNI 启动您的 java 应用程序。这很好,因为进程名称与应用程序名称匹配。

我相信您可以让某人为您生成一个应用程序包,然后将文件签入您的项目。在构建时,您需要做的就是将您的 jar 文件复制到适当的位置,并可能更新 XML 文件。

于 2008-09-02T18:27:47.310 回答