Я хочу разработать многомодульное приложение в соответствии со спецификацией OSGi
. Предположим, что один из моих модулей использует Apache Commons Logging 1.1.1
. Spring предоставляет связанную версию Apache Commons Logging 1.1.1
в своем репозитории, поэтому я могу добавить соответствующую зависимость в свой POM.
Если я установлю свой пакет, например, в Apache Felix
, правильно ли, что зависимость от Apache Commons Logging 1.1.1
не будет разрешена, пока я не установлю пакет Apache Commons Logging 1.1.1
? Мой пакет попытается импортировать пакет, который не был экспортирован.
Я не совсем понимаю, как работает управление зависимостями в мире OSGi
. Должен ли я устанавливать каждый пакет, который нужен моему приложению? Кроме того, я не понимаю, как он интегрируется с Maven?
Заранее спасибо за ваши пояснения
EDIT: я видел, что существует подпроект Apache Felix под названием OBR, который, кажется, облегчает управление пакетами (например, развертывание). Но у нас уже есть архитектура Maven с локальными репозиториями, частными репозиториями... Как OBR интегрируется в Maven?