我的项目有几个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
答案 0 :(得分:0)
Export-package
拼写错误。它必须是Export-Package
。
答案 1 :(得分:0)
好吧,我找到了错误的来源。
根据插件的文档(有点隐藏......):
现在假设Export-Package是您的包中的一组包 本地Java源代码,不包括默认包&#39;。&#39;和任何包裹 包含&#39; impl&#39;或者&#39;内部&#39;。 (在bundleplugin的第2版之前 它基于符号名称)
我的包裹名称包含&#34; impl&#34;。我改变了它现在有用......
Hejk