У меня возник вопрос о связях OSGI и «нормальных» зависимостях maven.OSGI и maven зависимости между пучками и баночками
следующий сценарий:
мульти проект модуль Maven: A
с AX модулей, AM:
AX является OSGI Bundle
AM нормально приложений Java, который запускает каркас OSGI и загружает комплект AX
В проекте верхнего уровня pom (A.pom) Я определяю зависимость от commons-loggi ng-1.1.1 Затем я использую commons-logging в моем OSGI Bundle A.X. Плагин maven-bundle генерирует манифест для A.X с записью импорта, где происходит «commons-logging».
Когда я запускаю A.M и распечатываю все мои загруженные банки (с помощью getSystemClassLoader ...) на консоли, тогда ../../../commons-logging-1.1.1.jar указан. Из-за зависимости maven от pom верхнего уровня.
Теперь я пытаюсь установить свой комплект OSGI A.X и получить исключение «неразрешенное ограничение в пучке ..... commons-logging».
Почему не может быть разрешена зависимость от общего доступа (от A.X) с помощью библиотеки commons-logging lib, которая уже находится в памяти (в A.M), когда пакет установлен?
Я благодарен за любую помощь !!!!
Является ли это встроенный OSGi среда?Я предполагаю, что пакеты commons-logging не находятся на пути класса загрузки контейнера OSGi. Или, если они есть, они получают версию 0.0.0 и ваши провода пакетов в более высокую версию. Попробуйте добавить эти пакеты в путь к загрузке с правильной версией. –
Спасибо за ваш ответ! Я попробую! – Tobi