私は依存関係管理のために部品表(BOM)を使用します。あなたがここに見ることができるとして、私は
<groupId>bom.test</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>childA</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.3.8.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
:
How to use BOM file with Maven?
Maven BOM [Bill Of Materials] Dependency
私は示唆している構造:
親プロジェクトを あなたはからBOMについての詳細を得ることができます春のBOMを使用しました。
子は、プロジェクト:あなたは、私は、ばねのWebバージョンを指定していない子の依存関係からわかるように
<parent>
<artifactId>parent</artifactId>
<groupId>bom.test</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>childA</artifactId>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>3.0.0.RELEASE</version>
</dependency>
</dependencies>
、それがBOMから取得されます。しかし、春のテスト版が指定されました。 Mavenがどのように見ているか確認しましょう。だから、BOMバージョン
mvn help:effective-pom
.....
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.8.RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>
.....
により、BOMの内容を確認する
はのはmoduleAは、ウェブのため、このバージョンを使用し、テストでオーバーライドされていることを確認するために、依存関係の経営管理論を確認してみましょう4.3.8
です。
mvn dependency:tree
[INFO] bom.test:childA:jar:1.0-SNAPSHOT
[INFO] +- org.springframework:spring-web:jar:4.3.8.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:4.3.8.RELEASE:compile
[INFO] \- org.springframework:spring-test:jar:3.0.0.RELEASE:compile