maven-bundle-pluginを使用してMavenモジュールからOSGIバンドルを作成しています。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:annotationsとcom.google.code.findbugs:jsr305)を除外できましたが、それでもバージョンの範囲は残ります。 私は直接依存関係のマニフェストファイルを見てきましたが、javax.annotationをエクスポートする他のjarファイルは見つかりませんでした。
注:javax.annotation:com.springsource.javax.annotationに依存関係を追加すると、Manifestはjavax.annotationバージョン1.0.0を正しくインポートしますが、これは必ずしも必要ではありません。私は個人的にそれを見つけるでしょう未知の依存関係を除外するためにクリーナー。
が含まれている凝視ポイントですパッケージjavax.annotations? –
それらのどれも実行しませんが、ネストされた依存関係が存在する可能性があります。このパッケージはjdkの一部であり、実行時にspringsource-bundleがデプロイされます – TomVW
spring 3.xを使用すると、3.xのインポート範囲がspringを指している可能性があります。ポームのコンテンツを投稿できますか? –