Maven 依赖jar包版本冲突解决方案
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优化支持