2015-09-09 2 views
0

Когда я бегу mvn clean install, Maven бросает следующее исключение:Maven ошибка сборки расслоением плагин

Экспорт пакетов, которые не являются на пачке Classpath [Jar: точка]

я мог бы построить успешно несколько дней назад, почему это происходит?

+0

Поскольку я отвечаю на это, я вижу, что исходный вопрос [здесь] (http: // stackoverflow.com/questions/32458371/osgi-bundle-compile-error) имеет гораздо больше информации. Было бы полезно не задавать один и тот же вопрос дважды с радикально различным объемом информации в нем! –

ответ

0

Трудно быть уверенным в деталях конфигурации 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

Смежные вопросы