依赖冲突的调节

依赖冲突的调节

传递依赖,最短路径

A -> B -> C -> X (1.0)
A -> D -> X (2.0)
由于只能引入一个版本的包 , 此时 Maven 按照最短路径选择导入 X (2.0)

传递依赖,同路径,优先声明

A -> B -> X (1.0)
A -> D -> X (2.0)
路径长度一致 , 且不在同一个 POM 文件,则优先选择第一个先声明的依赖 , 此时导入 X (1.0)

非传递依赖,后声明覆盖先声明

A -> X (1.0)
A -> X (2.0)
路径长度一致 , 且在同一个 POM 文件,则后面声明的依赖会覆盖前面的依赖 , 此时导入 X (2.0)

你可能感兴趣的:(maven)