【问题标题】:Maven bundle plugin does not generate right Export-PackageMaven bundle 插件不生成正确的 Export-Package
【发布时间】:2018-06-04 03:52:46
【问题描述】:

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

谁能帮帮我?

非常感谢。 赫克

【问题讨论】:

  • BJ 的回答是正确的......但你为什么要导出似乎(基于其名称)一个实现包?

标签: maven plugins osgi bundle pom.xml


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    嗯,我找到了错误的根源。

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

    Export-Package 现在假定为您的 本地 Java 源,不包括默认包 '.'和任何包裹 包含“impl”或“internal”。 (在 bundleplugin 的第 2 版之前 它基于符号名称)

    我的包名中包含“impl”。我改变了它。现在可以使用了...

    赫克

    【讨论】:

    • 更好:不要导出实现包 :-)
    猜你喜欢
    • 2012-07-16
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 2022-05-11
    • 2011-06-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多