我正在尝试将我的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二进制文件?
答案 0 :(得分:1)
在应用中捆绑JRE时,不包含bin/
文件夹。它使用的唯一本机二进制文件位于MyApp / Contents / MacOS和MyApp / Contents / Plugins / MyJRE / Contents / MacOS。
或者,包含的JavaAppLauncher是否取代了普通的java二进制文件?
应用包不会调用' java'命令。 JavaAppLauncher和libjli.dylib的某种组合动态调用Java。
如果您不确定它是否使用捆绑版本的Java,请在应用运行时输出。它将告诉您Java被调用的位置:
System.getProperty("java.home", "")