Как правило, проекты Eclipse PDE имеют платформу target .Эта целевая платформа содержит зависимости.
В комплектах OSGi зависимости указываются в манифесте.Существует много типов зависимостей, модель зависимости OSGi на порядок мощнее, чем упрощенная модель 'require' других модульных систем.Он не только имеет много типов зависимостей (требуется комплектация (классическая), пакет импорта, требуется среда выполнения, требуется реализация для API, требуется служба и т. Д.), Указанных в пространствах имен , но такжеподдерживает мощный фильтр, который утверждается в свойствах способность .Возможность противоположна требованию.
Для удовлетворения этих возможностей и требований в OSGi есть resolver .Он принимает набор начальных требований и находит решение, при котором все требования выполняются и все правила соблюдаются.Результатом распознавателя является набор проводов , которые соединяют пучки вместе.
На сегодняшний день лучшая среда для игры с этим - bndtools.В bndtools вы можете напрямую использовать репозиторий P2 (обычно целевой платформой является репозиторий P2).(Вы также можете напрямую использовать репозиторий Maven или стандартизированный OSGi-репозиторий, также известный как OBR.) В файле bndtools bndtools вы можете выбрать один или несколько корневых пакетов вашего графа.Затем распознаватель вычисляет набор пакетов, которые являются счастливыми замыканиями.Все это делается на уровне графического интерфейса.
Существует также командная строка с именем 'bnd', которую вы можете установить через brew или загрузить ее jar из https://bndtools.ci.cloudbees.com/job/bnd.master/lastSuccessfulBuild/artifact/biz.aQute.bnd/generated/
Это маленький чудесный инструментэто может творить чудеса, но очень плохо документировано, хотя у него есть команда помощи.:-( (я автор)