我必须发布带有嵌入式 JRE 的 swing 应用程序。包含应用程序 + JRE + .bat/.sh 的压缩存档可以在 Windows 和 Linux 上实现。用户下载 zip 文件、解压缩并启动应用程序。完美的。
但现在,我必须为 Mac OS X 提供同样的东西。我已经阅读/被告知了很多关于此事的不同事情(禁止在 Mac 上分发 JRE,相反,Mac 上总是有 JRE 等等。 ..),所以我真的很困惑我能做什么。
有人已经做过这样的事情了吗?你们是如何解决Mac应用程序部署的?另外,在 Mac 中分发应用程序的最佳格式是什么(zip?)?
看看应用程序捆绑器 http://java.net/projects/appbundlerjava.net 上的项目。它提供了一个 Ant 任务,可以像普通 Mac 一样打包您的应用程序.app
捆绑包,并且可以选择包含嵌入式 JRE。
目前,Mac 上的整个 Java 格局有点混乱,因为我们仍处于过渡时期,Java 6 版本由 Apple 提供和维护,而 Java 7 版本直接来自 Oracle。引用的 jarbundler 项目一匹没有名字的马 https://stackoverflow.com/a/14484502/592139用于将 JAR 包装为.app
包将在 Mac OS X 10.5/6/7 附带的 Apple 提供的 Java 6 上运行,但不能在 Oracle Java 7 上运行,相反,appbundler 的目标是 Oracle Java 7 及其.app
捆绑包无法在 Java 6 上运行。
如果您想要针对运行 10.7 或 10.8 的最新 Mac,特别是如果您想通过 Mac App Store 分发您的应用程序,那么您应该使用 appbundler 并捆绑 JRE 的副本。如果您不想通过商店分发,则嵌入式 JRE 是可选的。如果您的应用程序可以在 Java 6 上运行,那么使用 jarbundler 定位 Apple Java 6 将意味着您的应用程序可以在旧版(
分配一下就好了.app
in a .zip
存档,只要所有内容都在Contents/MacOS
应用程序内的目录(以及嵌入式 JRE 中的相应文件(如果适用))在 zip 文件中标记有执行权限。如果您使用 Ant 进行构建,则需要使用<zipfileset>
与右边的filemode
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)