【发布时间】:2015-11-11 18:24:22
【问题描述】:
我有一个打开计算器的 jar 文件。我使用名为JarSplice 的工具在我的Macintosh 上变成了一个.app。我的应用程序在我的计算机上运行良好,但我想知道该应用程序是否适用于没有 Java 的最终用户?我自己会对此进行测试,但我无法访问已卸载 Java 的计算机。提前感谢。
【问题讨论】:
标签: java macos executable
我有一个打开计算器的 jar 文件。我使用名为JarSplice 的工具在我的Macintosh 上变成了一个.app。我的应用程序在我的计算机上运行良好,但我想知道该应用程序是否适用于没有 Java 的最终用户?我自己会对此进行测试,但我无法访问已卸载 Java 的计算机。提前感谢。
【问题讨论】:
标签: java macos executable
你遇到了一个非常棘手的队友!
首先幸运的是,您可以将 jre 与您的应用程序一起移植(oracle java 为您提供license)。棘手的部分是为您的应用程序构建dmg。也就是说,不仅要移植 jre,而且还要以与任何其他 mac 应用程序一样工作的方式构建它。包括权限。相信我,要做到这一点非常困难。
以下是选项:
dll 或so)。设置系统属性等。绝对让你感觉很原生。我会通过 javafx 方式。我们有两个用于 windows 和 mac 的桌面应用程序正在生产中,我们通过第一种方式构建它
【讨论】:
是的,您可以将 Oracle 的 JRE 打包到您的应用中。 Apple 甚至会接受它进入 AppStore。
该工具称为 appbundle。这是指南:https://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html
可以在此处找到添加了一些功能的 appbundler 分支:https://bitbucket.org/infinitekind/appbundler
【讨论】:
是的。最终用户需要在他们的机器上安装 Java。
【讨论】:
如果您使用 amipackage,则不会。 它也打包了jre...
这里是步骤......
a) Download amipackage
b) Setup a config file that describes your app
c) ./amipackage.sh --config=<your config file>
d) your dmg and tar.gz are present in the out folder.
我觉得很简单
【讨论】: