Я пишу небольшой фрагмент кода, целью которого является использование AppleScriptEngine для связи с Growl. Я получил бы файл jar под названием MyApplication.jar со всеми моими классами, но мне нужно сослаться на AppleScriptEngine.jar (разработанный Apple и хранящийся в / System / Library / Java / Extension) ... Здесь проблема: AppleScriptEngine.jar присутствует в каждом дистрибутиве Os x, поэтому я хотел бы сослаться на него внутри MyApplication.jar MANIFEST.MF без добавления AppleScriptEngine.jar в мой файл .jar. Это в основном по двум причинам: во-первых, AppleScriptEngine является частным файлом Apple, во-вторых, я надеюсь, что есть способ обратиться к существующему файлу внутри файловой системы. Я много читал о правильной композиции файла jar, и в каждом примере я обнаружил, что есть внешний файл jar, упакованный внутри файла jar кодировщика.
Я попытался изменить атрибут class-path внутри моего MANIFEST, чтобы он указывал прямо на AppleScriptEngine.jar следующим образом:
Манифест-версия: 1.0
Rsrc-Class-Path: ./
Путь к классу: /System/Library/Java/Extensions/AppleScriptEngine.jar
Rsrc-Main-Class: core.MyApplicationLauncher
Основной класс: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Class-Path должен быть локальной ссылкой внутри моего фляги, но давая абсолютный путь к Class-Path, я должен иметь возможность ссылаться на каждый файл в моей системе. Возможно, что-то не так в том, как я определяю путь, или я могу ссылаться только на файлы, вложенные в мою банку. Внутри затмения, очевидно, все работает нормально, потому что он имеет ссылки на системную библиотеку JRE, которая также содержит AppleScriptEngine.jar. Так что, возможно, есть способ напрямую обратиться к системной библиотеке JRE в моем файле MANIFEST. Я не смог найти ответ после многих часов серфинга. У кого-нибудь есть идея, чтобы преодолеть этот тупик?