2017-11-28 5 views
1

私はいくつかのサブモジュールを持つライブラリを持っています。親POMにライブラリのバージョンを設定しました。Maven BOM(Bill of Materials)の単一エントリ内のすべてのMavenサブモジュールのバージョンを設定します

また、このライブラリが定義されているMaven部品表(BOM)プロジェクトを作成しました。

最初場合で、Iは、第二ケースに

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.softtech</groupId> 
      <artifactId>BatchLibrary</artifactId> 
      <version>2.1</version> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

以下のようにBOM内のライブラリ全体のバージョンを設定し、Iは以下

<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>com.softtech</groupId> 
      <artifactId>BatchLibrary-core</artifactId> 
      <version>2.1</version> 
     </dependency> 
     <dependency> 
      <groupId>com.softtech</groupId> 
      <artifactId>BatchLibrary-web</artifactId> 
      <version>2.1</version> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 
ように個別にライブラリの各サブモジュールのバージョンを設定します

このBOMをプロジェクトに追加しました。私のプロジェクトでバージョンのないライブラリのサブモジュールを宣言するとき。前述した最初のケ​​ースでは、私は

dependency.versionは、後者の場合は

が不足しているエラーを取得し、それが正常に動作します。

これはBOMの仕組みですか?私は、BOMに個別にバージョンを持つサブモジュールをすべて定義する必要がありますか、バージョンのある私のライブラリの親POMを定義するだけで済みます。それが必要ならば?なぜ私の場合はうまくいかないのですか?

答えて

関連する問題