Я создаю пакет 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, но это не обязательно, и я лично его найду чтобы исключить неизвестную зависимость.
Какой зависимостей баночку содержит пакет javax.annotations? –
Ни один из них не работает, но может быть вложенная зависимость. Этот пакет является частью jdk, и во время выполнения развертывается springsource-bundle. – TomVW
. Диапазон импорта 3.x может указывать на весну, если вы используете spring 3.x. Можете ли вы опубликовать свой контент pom? –