8
将maven-bundle-plugin
从版本2.3.5
更新为版本2.4.0
之后,运行mvn clean install
会输出一些警告消息,这些消息我并不完全了解。例如。Maven Bundle插件:导出具有私有引用
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是因为它不是作为一个包存在的,所以你不能把它的范围设置为“provided”。所以最好的办法是导出所有包含公共方法将需要的类的包。这条消息通常表明未来的班加载问题...... – Cristiano