maven spring library正确的依赖

时间:2015-11-28 14:29:32

标签: spring

让我们说我正在创建一个基于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>

1 个答案:

答案 0 :(得分:0)

你是对的,BOM是最强大的战斗方式之一(甚至是基于maven的)依赖地狱。