spring maven项目解决依赖jar包版本冲突方案

Posted 牵着妞去散步

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring maven项目解决依赖jar包版本冲突方案相关的知识,希望对你有一定的参考价值。

引入:http://blog.csdn.net/sanzhongguren/article/details/71191290

在spring reference中提到一个解决spring jar包之间版本冲突的解决方案,原文如下

It is possible to accidentally mix different versions of Spring JARs when using Maven. For example, you may find that a third-party library, or another Spring project, pulls in a transitive dependency to an older release. If you forget to explicitly declare a direct dependency yourself, all sorts of unexpected issues can arise.

To overcome such problems Maven supports the concept of a "bill of materials" (BOM) dependency. You can import the spring-framework-bom in yourdependencyManagement section to ensure that all spring dependencies (both direct and transitive) are at the same version.

在配置spring项目依赖时可以通过引入spring-framework-bom避免项目中的spring jar包及关联依赖的三方jar包之间的版本冲突,引入方式:

<dependencyManagement>  
    <dependencies>  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-framework-bom</artifactId>  
            <version>4.1.3.RELEASE</version>  
            <type>pom</type>  
            <scope>import</scope>  
        </dependency>  
    </dependencies>  
</dependencyManagement>  

引入后的另一个好处就是在pom文件中引入spring相关依赖时不用再声明<version>属性,以后直接像下边这样声明就可以了:

<dependencies>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-context</artifactId>  
    </dependency>  
    <dependency>  
        <groupId>org.springframework</groupId>  
        <artifactId>spring-web</artifactId>  
    </dependency>  
<dependencies>  

PS: Spring官方reference网址 http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/
还有就是最近找到一个翻译reference的网址,虽然没有翻译完整有兴趣的也可以看看 http://spring.cndocs.tk/


以上是关于spring maven项目解决依赖jar包版本冲突方案的主要内容,如果未能解决你的问题,请参考以下文章

Maven怎么处理引用的jar版本冲突

04_项目一众筹00_05Maven依赖概念,依赖范围依赖传递性依赖的原则:解决jar包冲突依赖排除统一版本管理

如何修改maven依赖包的版本

Maven学习总结(59)—— Maven Jar 包冲突最全解决方案总结

Maven学习总结(59)—— Maven Jar 包冲突最全解决方案总结

解决maven的jar包依赖冲突的两种方案