2016-10-23 9 views
0

Я новичок в OSGi. Я использую Apache Felix. Я построил пакет, и у него есть зависимость. Когда я пытаюсь запустить пакет с start file:/path/to/bundle.jar, он дает мне эту ошибку.Включить зависимости в пакеты Felix OSGi

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 можно найти here on Github.

ответ

1

Ошибка просто говорит о том, что в вашей конфигурации запуска OSGi отсутствует пакет, который экспортирует пакет lk.ucsc.research.bellygraph. Этот пакет необходим для решения пакета BellyRunner.

Я думаю, что начать обучение OSGi с помощью maven - не очень хорошая идея, так как многие важные детали и концепции просто скрываются от магии «mvn install». Если бы я был в вас, я хотел бы начать с OSGi EnRoute урока: http://enroute.osgi.org/qs/050-start.html

После этого вы можете изучить, как сделать это в мавена: http://enroute.osgi.org/tutorial_eval/050-start.html

 Смежные вопросы

  • Нет связанных вопросов^_^