无法摆脱Split包,多个jar提供相同的包

时间:2014-02-14 12:03:13

标签: java maven osgi apache-felix maven-bundle-plugin

我有一个主项目(projectA),它有一个库依赖项(projectB),其中都有package.subpackage。我想在主项目中内联库。主项目配置非常简单(另外还有'compile'范围列出的依赖性:

<plugin>
    <groupId>org.apache.felix</groupId>
    <artifactId>maven-bundle-plugin</artifactId>
    <version>2.4.0</version>
    <extensions>true</extensions>
    <configuration>
        <instructions combine.inherited="append">
            ...
            <Export-Package>package.*;version=${packet.version};-split-package:=merge-first</Export-Package>
            <Bundle-SymbolicName>${project.artifactId};singleton=true</Bundle-SymbolicName>
        </instructions>
    </configuration>
</plugin>       

然而它会产生以下警告

--- maven-bundle-plugin:2.4.0:bundle (default-bundle) @ projectA ---
Bundle project:projectA:bundle:version : Split package, multiple jars provide the same package:project/subproject
Use Import/Export Package directive -split-package:=(merge-first|merge-last|error|first) to get rid of this warning
Package found in   [Jar:., Jar:subproject]
Class path         [Jar:., Jar:subproject]

我有split-package指令但警告仍然存在。

我希望它能够简单地从明确列出的工件中内联所有内容,而不是更多(即使有更多的依赖关系),没有任何传递依赖。最好没有关于拆分包装的任何警告。

1 个答案:

答案 0 :(得分:0)

我认为你需要maven shade plug-in