をバージョン2.3.5
からバージョン2.4.0
に更新した後、mvn clean install
はいくつかの警告メッセージを出力します。例えば。Maven Bundle Plugin:エクスポートはプライベートリファレンスを持っています
Export ch.entwine.weblounge.contentrepository.impl.index, has 1, private references [org.elasticsearch.action.bulk]
私はこれが埋め込みLIB(elasticsearch)とは何かを持っていると思います。ここにPOMの一部があります:
<dependencies>
...
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>0.19.9</version>
</dependency>
...
</dependencies
...
<Export-Package>
...
ch.entwine.weblounge.contentrepository.impl.index
...
</Export-Package>
<Embed-Dependency>
....
elasticsearch;inline=true
...
</Embed-Dependency>
エラーメッセージはどういう意味ですか? このような問題を解決するために推奨される方法は何ですか?
あなたの答えをありがとう、それは動作します!しかし、私はいつも、埋め込まれた依存関係のパッケージをエクスポートしないでください(バンドルAPIの一部ではない)。これは間違っていますか? – Basil
まあ、それは依存しています...もしあなたがjarファイルをバンドルとして持っているのであれば、それはバンドルとして存在しないので、 "提供されている"ようにスコープを設定することはできません。パブリックメソッドに必要なクラスを含むすべてのパッケージをエクスポートするのが最も良い方法です。このメッセージは通常、将来のクラスローディングの問題を示しています... – Cristiano