Включить зависимости в комплекты Felix OSGi
Я новичок в OSGi. Я использую Apache Felix. Я собрал комплект, и у него есть зависимость. Когда я пытаюсь запустить пакет с start file:/path/to/bundle.jar
это дает мне эту ошибку.
org.osgi.framework.BundleException: Невозможно разрешить lk.ucsc.research.BellyRunner [20](R 20.0): отсутствует требование [lk.ucsc.research.BellyRunner [20](R 20.0)] osgi.wiring.package; (osgi.wiring.package=lk.ucsc.research.bellygraph) Неразрешенные требования: [[lk.ucsc.research.BellyRunner [20](R 20.0)] osgi.wiring.package; (Osgi.wiring.package=lk.ucsc.research.bellygraph)]
Моя структура проекта Maven выглядит следующим образом:
|-Belly
|-BellyGraph
|-BellyRunner OSGi( dependencies: BellyGraph )
Я пытался добавить <Embed-Dependency>BellyGraph</Embed-Dependency>
тоже. Но это не сработало. Пожалуйста, помогите мне сделать это. Полный POM можно найти здесь, на Github.
1 ответ
Ошибка просто говорит о том, что в конфигурации запуска OSGi отсутствует пакет, который экспортирует lk.ucsc.research.bellygraph
пакет. Этот пакет необходим для разрешения пакета BellyRunner.
Я думаю, что начинать изучать OSGi с использованием maven не очень хорошая идея, так как многие важные детали и концепции просто скрываются магией "mvn install". Если бы я был в вас, я бы начал с учебника OSGi enRoute: http://enroute.osgi.org/qs/050-start.html
После этого вы можете узнать, как это сделать в maven: http://enroute.osgi.org/tutorial_eval/050-start.html