Maven(十)依赖的冲突

由于传递依赖的关系,很可能引入相同的jar包,那么maven自动解决冲突主要遵循以下两点:

一、路径短的优先

图片发自App

例如:B哥引入的是commons-io的2.4版本

图片发自App

楠哥引入的是commons-io的2.0版本

图片发自App

由于山鸡继承楠哥的路径较短,所以看到山鸡的依赖中已经导入了和楠哥一样的2.0jar包。

图片发自App


二、路径长度相同的情况下,先申明谁,就优先引入谁的。

图片发自App

将楠哥对B哥的依赖删去,在山鸡中一起引入对B哥和楠哥的依赖,不过对B哥的依赖申明在前,所以我们看到山鸡中已经引入了和B哥一样的commons-io-2.4.jar包

图片发自App

你可能感兴趣的:(Maven(十)依赖的冲突)