将 maven-bundle-plugin
从版本 2.3.5
更新到版本 2.4.0
后运行 mvn clean install
输出一些警告信息,我不完全理解。例如
导出ch.entwine.weblounge.contentrepository.impl.index,有1个,私有(private)引用[org.elasticsearch.action.bulk]
我想这与嵌入式库 (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>
错误消息的确切含义是什么? 解决此类问题的推荐方法是什么?
最佳答案
该消息意味着在您的一个公共(public)包(您正在导出)中有一个类正在访问私有(private)包(未导出的包)中的类。
嵌入 jar 时,您不得使用 Export-Package 从嵌入的 jar 声明包。它适用于您从自己的包中声明包。您必须使用 <_exportcontents> 导出 org.elasticsearch.action.bulk。
关于java - Maven 捆绑插件 : Export has private references,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21218296/