maven重复依赖三大原则

项目开发中难免会遇到处理maven重复依赖的问题,这个时候可以借助一个idea的插件来查看当前生效的jar包版本
Maven Helper https://plugins.jetbrains.com/plugin/7179-maven-helper

另外就是要了解一下Maven重复依赖的三大原则

最短路径原则

A -> B -> C -> M(V1)
D -> E -> M(V2)

由于DEM的路径最短,所以生效的为M(V2)版本

声明优先原则

A -> B -> C -> M(V1)
D -> E -> F -> M(V2)

由于2者的路径一样,按照在pom文件中的声明的先后顺序,maven会优先选择先声明的包,所以生效的为M(V1)版本

直引覆盖原则

M(V1)
M(V2)

在同一个pom文件中,同时引用了2个版本的依赖,后一个引入的版本会覆盖前一个,即生效的版本为M(V2)版本
注意:
1、没找到这个原则的名字,名字是我自定的
2、一般这种就属于书写错误,正常人都不会在一个pom中同时指定2个版本的依赖吧
3、需要注意与“声明优先原则”进行分辩


觉得内容还不错?打赏个钢镚鼓励鼓励!!👍