Трудно быть уверенным в деталях конфигурации POM, но похоже, что вы используете плагин на основе bnd, что, вероятно, означает maven-bundle-plugin
или bnd-maven-plugin
.
В любом случае пакет, который производится, экспортирует пакет, который не входит в комплект поставки. Это верный способ взломать ваше приложение, и поэтому bnd не удается создать пакет.
В догадке (потому что я не так много информации, чтобы идти дальше) один из следующих произошло:
- Кто переименовала пакет в вашей пачке, но не обновляется экспорт в файл пом
- Кто-то сняло зависимость от вашего П, который ранее был втянут в вашу пачку как статический связанно зависимость
- Кто реорганизованная в фотоснимок, которую вы используете, и он больше не содержит пакет, который вы хотели экспортировать
- Somebody имеет вложил файл jar в ваш пакет, но не добавил его в путь класса bundle.
- Также возможно (но менее вероятно), что кто-то настроил ваши классы, чтобы они не вошли в корень архива пакетов, поэтому классы не относятся к
.
.
Исправить первые три проблемы легко, исправить имя пакета, повторно добавить правильную зависимость или удалить экспорт. Последние два также довольно легко исправить. Вы можете изменить свой пучок, как это путь к классам:
Bundle-ClassPath: /path/to/my.jar, /path/to/another.jar, /path/to/folder
Другой, вероятно, лучше, вариант не включать код в вложенном файле JAR, но вместо того, чтобы вставлять код прямо в пачке. Это означало бы настройку конфигурации плагина для использования синтаксиса внедрения. Поскольку я не знаю, какой плагин вы используете, я не могу привести вам пример, но документация для ресурса include bnd включает в себя: here
Поскольку я отвечаю на это, я вижу, что исходный вопрос [здесь] (http: // stackoverflow.com/questions/32458371/osgi-bundle-compile-error) имеет гораздо больше информации. Было бы полезно не задавать один и тот же вопрос дважды с радикально различным объемом информации в нем! –