所思所感
Maven依赖冲突调解原则
· 三面体
最短路径优先,最先声明优先,覆盖优先
我的CSDN
最短路径优先
当依赖声明不在同一个POM文件中时,或者说存在依赖传递时,路径最短的jar包将被选为最终依赖。例如下面两个依赖路径:

此时Jar2.0将被选为最终依赖。
最先声明优先
当依赖声明不在同一个POM文件中时,或者说存在依赖传递时,并且依赖传递长度相同时,最先声明的依赖将被选为最终依赖。

此时Jar1.0将被作为最终依赖。
覆盖优先
当依赖声明在同一个POM文件中时,后面声明的依赖将覆盖前面声明的依赖。

此时,Jar2.0将被选为最终依赖。