我正在开发一个带有本机可执行文件的跨平台Java应用程序。对于Mac,我使用贾伯德勒作为一个蚂蚁任务来创建App。
现在Oracle发布了Java7和它自己的ANT任务"阿彭德勒“,我遇到了一个问题。
使用本地Mac和Jarbundler只适用于Apple 6,而使用Oracle只适用于Java 7。
我非常了解这方面的背景,,但我想知道是否有一个既适用于Java6,也适用于Java7的JavaApplicationStub。
顺便说一句: JavaApplicationStub必须是本地的C/C++/C#二进制吗?或者它也可能是一个可执行的外壳脚本?
更新:
shell脚本是本机JavaApplicationStub的一种可能的替代方案。
我扩展了基本shell脚本,并将其作为"universalJavaApplicationStub“在GitHub上发布。它现在既支持Apple 6和Oracle 7,也支持应用程序包中Java属性的Info.plist样式(Oracle引入了新的属性键)。请随意使用它!
发布于 2014-03-09 12:01:14
包中的主要可执行文件可以是shell脚本,因此您可以使用首先尝试/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java (Java7JRE安装位置)的脚本,如果找不到该脚本,则返回/usr/bin/java。后者将运行已安装的最新JDK (6或7),如果根本找不到JDK,则应该提示安装Java 6。
发布于 2014-03-09 11:56:02
我想我在@IanRoberts中找到了这个话题的答案-- 家“。
他建议用自定义外壳脚本替换JavaApplicationStub,以支持Java6和Java 7。
https://stackoverflow.com/questions/22281710
复制相似问题