Java Mac 应用程序包资源路径

4
使用Oracle的appbundler ant任务(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html),我可以创建一个带有JRE7的可用Mac应用程序,但加载某些资源(如本地库)失败,因为Info.plist中的路径似乎无效。
在build.xml ant任务中,例如我将本地库复制到应用程序包内的Contents/Java文件夹中:
a) <option value="-Djava.library.path=Contents/Java/" />
b) <option value="-Djava.library.path=$JAVAROOT/" />
c) <option value="-Djava.library.path=$APP_PACKAGE/Contents/Java/" />

所有结果都出现了UnsatisfiedLinkError错误。还有一些其他资源,比如启动图片也无法找到。
<option value="-splash:Contents/Java/my-splash.png" />

有没有想法如何在这里正确设置JVMOptions的路径?

编辑:Java7应用程序绑定器与Apple附带的jdk6不使用相同的plist语法,例如没有“Java” dict可添加SplashFile。

1个回答

7
根据应用程序包装器任务文档,您需要寻找的神奇变量是$APP_ROOT
<option value="-Djava.library.path=$APP_ROOT/Contents/Java/" />

这也适用于<argument value="..."/>(传递给主类的参数,而不是JVM选项)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接