4

ライブラリ依存関係 (projectB) を持つメイン プロジェクト (projectA) があり、両方に含まpackage.subpackageれています。ライブラリをメイン プロジェクトにインライン化したい。メイン プロジェクトの構成は非常に単純です (さらに、「コンパイル」スコープでリストされた依存関係:

<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]

分割パッケージ ディレクティブがありますが、警告は持続します。

明示的にリストされたアーティファクトからすべてを単純にインライン化する方法が気に入っています (さらに依存関係が示されていても)、推移的な依存関係はありません。分割パッケージに関する警告がないことが望ましいです。

4

1 に答える 1