2

我正在尝试将我的 java 应用程序打包到 OS X App Bundle 中,并且我想包含 JRE,因此它可以在没有安装 JRE 的情况下运行。

我正在关注http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html

AppBundler Ant 任务将生成一个包含 JRE 的 .app,但它缺少所有二进制文件。

该应用程序将运行,但我不确定它没有使用我安装的 JRE,因为它缺少二进制文件。还是包含的 JavaAppLauncher 替换了普通的 java 二进制文件?

4

1 回答 1

1

bin/在应用程序中捆绑 JRE 时不包含该文件夹。它使用的唯一本机二进制文件位于 MyApp/Contents/MacOS 和 MyApp/Contents/Plugins/MyJRE/Contents/MacOS 中。

还是包含的 JavaAppLauncher 替换了普通的 java 二进制文件?

应用程序包不调用“java”命令。JavaAppLauncher 和 libjli.dylib 的某种组合动态调用 Java。

如果您不确定它是否使用了 Java 的捆绑版本,请在您的应用程序运行时输出。它会告诉您从哪个位置调用 Java:

System.getProperty("java.home", "")
于 2015-02-17T14:42:07.320 回答