Път на ресурса на Java Mac appbundle

Използване на задачата appbundler ant от oracle (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) Мога да създам работещо приложение за Mac с пакет JRE7, но зареждането на някои ресурси като собствени библиотеки се провали, защото пътят в шевовете 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. Също така някои други ресурси като splash-image не са намерени:

<option value="-splash:Contents/Java/my-splash.png" />

Някаква идея как да зададете правилно пътя за JVMOptions тук?

Редактиране: Java7 appbundler не използва същия синтаксис за plist като Jar Bundler от Apple, който идва с jdk6, напр. няма "Java" dict за добавяне на SplashFile.


person Christof Aenderl    schedule 29.11.2012    source източник


Отговори (1)


Според документацията на задачата на appbundler магическата променлива, която търсите, е $APP_ROOT:

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

Това също работи за <argument value="..."/> (аргументи към основния ви клас, за разлика от опциите към JVM).

person Ian Roberts    schedule 29.11.2012