Java Mac appbundle资源路径

Chr*_*erl 4 java ant macos java-7

从Oracle使用appbundler ant任务(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html)我可以在创建工作Mac应用程序捆绑JRE7但一些装载本机库之类的资源失败,因为Info.plist接缝中的路径无效.

在我使用的build.xml ant任务中(例如,我的本机库被复制到app-bundle内的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/" />
Run Code Online (Sandbox Code Playgroud)

所有结果都是UnsatisfiedLinkError.还找不到一些其他资源,如splash-image:

<option value="-splash:Contents/Java/my-splash.png" />
Run Code Online (Sandbox Code Playgroud)

知道如何在这里正确设置JVMOptions的路径吗?

编辑:Java7 appbundler使用不同于plist的语法,因为Apple的Jar Bundler与jdk6一起提供,例如,没有添加SplashFile的"Java"字典.

Ian*_*rts 7

根据appbundler任务文档,您正在寻找的魔术变量是$APP_ROOT:

<option value="-Djava.library.path=$APP_ROOT/Contents/Java/" />
Run Code Online (Sandbox Code Playgroud)

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