Maven bundle插件无法生成正确的Export-Package
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Maven bundle插件无法生成正确的Export-Package相关的知识,希望对你有一定的参考价值。
我的项目有几个Maven模块。所有这些模块都是捆绑的。
我使用maven-bundle-plugin生成包含Import-Package和Export-Package指令的MANIFEST.MF文件。
当我在Export-Package中指定一个包时,maven-bundle-plugin会生成MANIFEST.MF而不包含我在配置中指定的包。
为什么插件会这样做?在我的情况下很烦人:这个包有另一个包所需的包。所以当我尝试启动我的捆绑包时,我有未解决的依赖项...
这是我的pom.xml的摘录:
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Bundle-Description>${project.description}</Bundle-Description>
<Export-package>com.company.manager.impl</Export-package>
</instructions>
</configuration>
</plugin>
生成的MANIFEST.MF文件不包含com.company.manager.impl包。
谁能帮我?
非常感谢。 Hejk
答案
Export-package
拼写错误。它必须是Export-Package
。
另一答案
好吧,我找到了错误的来源。
根据插件的文档(有点隐藏......):
现在假定Export-Package是本地Java源代码中的包集合,不包括默认包“。”以及包含'impl'或'internal'的任何包。 (在bundleplugin的第2版之前,它基于符号名称)
我的包裹名称包含“impl”。我改变了它现在有效......
Hejk
以上是关于Maven bundle插件无法生成正确的Export-Package的主要内容,如果未能解决你的问题,请参考以下文章
Maven Javadoc 插件 javadoc-bundle-options