Вопросы по Import-Package для OSGI - PullRequest
0 голосов
/ 07 января 2020

Недавно я хочу использовать внешний maven jar A в моем OSGI-пакете B. Затем я положу свой B-пакет в bndrun , чтобы протестировать его. Шаг, который я продвинул вперед:

  1. Поместите описание зависимости maven jar A в файл pom моего пакета.

  2. Используйте bnd-maven -плагин для создания файла манифеста для моего пакета B. В конфигурациях я установил

Import-Package: *

для обработки импорта часть зависимостей банка А.

Выполните

mvn clean install

успешно, чтобы поместить мой комплект B в локальный репозиторий Maven .m2.

Поместите его в pom. xml файла bndrun.

Однако, когда я пытаюсь разрешить пакет в bndrun, это не удалось. Я отладил причину, обнаружил, что она не соответствует требованиям, которые являются зависимыми пакетами jar A. Я также обнаружил, что в Maven эти зависимые пакеты jar A также являются jar . Поэтому я думаю, что именно поэтому резолюция провалилась. Короче говоря, мой вопрос:

Как автоматически преобразовать все зависимости jar (даже их зависимости jar) в пакет, чтобы они могли быть сохранены в моем локальном репозитории в формате bundle и использоваться bndrun для решения проблем? Насколько мне известно, метод грубой силы - использовать maven-bundle-plugin для преобразования каждого jar-файла в OSGI-пакет, но я думаю, что он может быть бесконечным.

...