Я согласен с тек-идиот, лучше всего тратит некоторое время с karaf-Maven-плагин, но вы также можете установить пакет вверх вручную, в чтобы понять, что его можно легко достичь с помощью плагина maven (особенно, если у вас много зависимостей).
Основной OSGI расслоение (то, что вы смотрите, как «плагин»), не что иное, как JAR файл с помощью специального текстового файла в там, MANIFEST.MF файл.
MANIFEST.MF описывает пучок, его название, описание, как вы хотите, чтобы активировать его, и то, что расслоение требует для запуска (его зависимости или импорта), а также то, что он может предложить другие пакеты (его экспорт).
Это образец файла манифеста взяты из wikipedia OSGI записи:
Bundle-Name: Hello World
Bundle-SymbolicName: org.wikipedia.helloworld
Bundle-Description: A Hello World bundle
Bundle-ManifestVersion: 2
Bundle-Version: 1.0.0
Bundle-Activator: org.wikipedia.Activator
Export-Package: org.wikipedia.helloworld;version="1.0.0"
Import-Package: org.osgi.framework;version="1.3.0"
MANIFEST.MF файл обычно упакованы в META-INF/MANIFEST.MF
папке баночке, так:
- Вы можете напишите этот файл вручную и добавьте его вручную в свою созданную банку.
- Вероятно, из последних трех элементов манифеста образца, вам нужен только
Import-Package
раздел (не Bundle-Activator
и не Export-Package
)
- Вы должны объявить в
Import-Package
каждый необходим внешний импорт пакета для вашего приложения и его версия. Имейте в виду, что внешние зависимости, которые вы используете в своем приложении, должны быть доступны во время выполнения OSGI для запуска вашего пакета.
Спасибо за отличный ответ! Я пришел к выводу, что это основной JAR. Я буду смотреть в Maven когда-нибудь в будущем, но пока этого достаточно (небольшие изменения). – Machman