Maven bundle插件无法生成正确的Export-Package

问题描述 投票:0回答:2

我的项目有几个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

maven plugins osgi bundle pom.xml
2个回答
0
投票

Export-package拼写错误。它必须是Export-Package


0
投票

好吧,我找到了错误的来源。

根据插件的文档(有点隐藏......):

现在假定Export-Package是本地Java源代码中的包集合,不包括默认包“。”以及包含'impl'或'internal'的任何包。 (在bundleplugin的第2版之前,它基于符号名称)

我的包裹名称包含“impl”。我改变了它现在有效......

Hejk

© www.soinside.com 2019 - 2024. All rights reserved.