2012-11-29 134 views
4

使用oracle的appbundler ant任务(http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html)我能够创建一个带有捆绑JRE7的工作Mac应用程序,但像本地库一样加载一些资源失败,因为Info.plist接口中的路径无效。Java Mac appbundle资源路径

在build.xml Ant任务我使用例如(我的家乡库复制到目录/应用程序束内的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 appbundler使用与jdk6自带的Apple Jar Bundler不同的语法来处理plist。没有“Java”字典来添加SplashFile。

回答

7

按照appbundler task documentation你正在寻找神奇的变量是$APP_ROOT

<option value="-Djava.library.path=$APP_ROOT/Contents/Java/" /> 

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