让我们说我正在创建一个基于maven的新项目,我想使用spring 4.2.3.RELEASE。 我还想使用弹簧测试和弹簧安全以及X,Y和Z. 我怎样才能确定在maven中添加哪些确切版本以避免冲突? 感谢
Maven" Bill of Materials"依赖
使用Maven时,可能会意外混合不同版本的Spring JAR。例如,您可能会发现第三方库或另一个Spring项目将旧版本的传递依赖性拉入其中。如果您忘记自己明确声明直接依赖,可能会出现各种意外问题。
为了克服这些问题,Maven支持"材料清单" (BOM)依赖。您可以在dependencyManagement部分中导入spring-framework-bom,以确保所有spring依赖项(直接和传递)都处于同一版本。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>4.2.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
使用BOM的另一个好处是,在依赖Spring Framework工件时,您不再需要指定<version>
属性:
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
</dependency>
<dependencies>
答案 0 :(得分:0)
你是对的,BOM是最强大的战斗方式之一(甚至是基于maven的)依赖地狱。