2016-12-12 1 views
1

Я создаю пакет OSGI из модуля Maven с использованием maven-bundle-plugin.Как определить источник версии пакета в манифесте, сгенерированный maven-bundle-plugin

<plugin> 
    <groupId>org.apache.felix</groupId> 
    <artifactId>maven-bundle-plugin</artifactId> 
    <configuration> 
     <instructions> 
      <Import-Package> 
       * 
      </Import-Package> 
      <Export-Package> 
       my.bundle.packages 
      </Export-Package> 
     </instructions> 
    </configuration> 
</plugin> 

К сожалению, кажется, есть зависимость, которая подвергает javax.annotation. Из-за этого сгенерированный манифест содержит Import-Package: javax.annotation;version="[3.2,4)"

Как узнать, какая зависимость экспортирует этот пакет? Используя mvn dependency:list, я смог исключить несколько зависимостей (com.google.code.findbugs: аннотации и com.google.code.findbugs: jsr305), но все же диапазон версий остается. Я искал в файлах манифеста прямых зависимостей, но не нашел другого jar, экспортирующего javax.annotation.

Примечание: я могу добавить зависимость от javax.annotation: com.springsource.javax.annotation, а Manifest правильно импортирует javax.annotation версии 1.0.0, но это не обязательно, и я лично его найду чтобы исключить неизвестную зависимость.

+0

Какой зависимостей баночку содержит пакет javax.annotations? –

+0

Ни один из них не работает, но может быть вложенная зависимость. Этот пакет является частью jdk, и во время выполнения развертывается springsource-bundle. – TomVW

+0

. Диапазон импорта 3.x может указывать на весну, если вы используете spring 3.x. Можете ли вы опубликовать свой контент pom? –

ответ

0

Как узнать, какая зависимость экспортирует этот пакет?

Если у вас есть * Никс консоль и bnd инструмент командной строки установки вы можете попробовать:

mvn dependency:build-classpath | grep jar | tr ':' ' ' | xargs bnd find -e 'javax.annotation' 

Существует, вероятно, лучший способ сделать это, но это точка смотрящей

+0

Это было полезно. Зависимости, которые я определил ранее, являются единственными, которые раскрывают этот пакет. Однако в манифесте показывается неверная версия. – TomVW

+0

Впечатляющая командная строка! –

+0

Оказывается, я не могу правильно прочитать манифест. Эта команда помогла мне найти проблемные зависимости и перечисляет банки, которые выставляют пакет – TomVW

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