Путь к ресурсу набора приложений Java Mac

Использование задачи ant appbundler из oracle (http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html) Я могу создать работающее приложение Mac с JRE7 в комплекте, но загрузка некоторых ресурсов, таких как собственные библиотеки, не удалась, потому что путь в швы Info.plist недействительны.

В ant-задаче build.xml, которую я использую, например (мои собственные библиотеки копируются в папку Contents/Java внутри app-bundle):

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 здесь?

Редактировать: Appbundler Java7 использует не тот же синтаксис для plist, что и Jar Bundler от Apple, который поставляется с jdk6, например. нет слова "Java" для добавления 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