欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Maven 依赖jar包版本冲突解决方案

程序员文章站 2022-05-28 12:57:12
...

1、为何会产生依赖冲突

  Maven中的传递性依赖机制,一方面简化了依赖声明,另一方面如果传递依赖有可能引发版本冲突。例如:有这样的依赖关系:a->b->c->x(1.0)、a->d->x(2.0),对于这样的冲突Maven给出的方案是:第一原则:路径最近者优先,第二原则:在路径长度相等的前提下,pom中的依赖声明的顺序决定了谁会被解析。

2、如何排除依赖

  pom如下:

  

<dependency>
    ......
    <exclusions>
        <exclusion>
            ......
        </exclusion>
    </exclusions>        
</dependency>

3、优化依赖

3.1 相关mvn命令

  mvn dependency:list 

  mvn dependency:tree

  mvn dependency:analyze

3.2 Idea优化支持