1. ホーム
  2. maven

[解決済み] mavenの依存関係のタイプ "bundle "の意味は何ですか?

2023-02-06 16:48:45

質問

この依存関係の例では、quot;bundle" の意味は何ですか。

<dependency>
    <groupId>org.apache.abdera</groupId>
    <artifactId>abdera-core</artifactId>
    <version>1.1.2</version>
    <type>bundle</type>
    <scope>compile</scope>
</dependency>

どのように解決するのですか?

この種のアーティファクトはOSGiバンドルであり、通常は maven-bundle-plugin の一部である Apache Felix .

このプラグインは、モジュールで利用可能なすべてのクラス(モジュール自身のクラス、依存関係によって提供されるクラス、クラスパス上の他のクラス)をひとつの巨大なセットとして扱い、jarにバンドルするためにこれらのクラスのサブセットを選択することを可能にします。また、アーティファクトを OSGi バンドルにするために必要なマニフェスト情報を作成します。

この依存関係を使用して取り込む成果物は jar ですが、それは abdera-core モジュール内で定義されたクラスだけでなく、より大きなクラスのセットからサブセットを選択してビルドされた jar なのです。

もしあなたが を見ると、abderaプロジェクトのpom を見てください。 maven-bundle-plugin の構成で、どのクラスがバンドルに追加され、どれが保留されたかを知ることができます。