maven-依赖调解功能

maven-依赖调解功能

起男 1,004 2020-11-24

maven-依赖调解功能

现实中可能存在这样的情况,a->b->c->y(1.0),a->d->y(2.0),此时y出现了2个版本,1.0和2.0,此时maven会选择y的哪个版本?

解决这种问题,maven有2个原则:

路径最近原则

上面a->b->c->y(1.0),a->d->y(2.0),y的2.0版本距离a更近一些,所以maven会选2.0

最先声明原则

如果出现了路径一样的,此时会看a的pom.xml中所依赖的b、d在dependencies中的位置,谁的声明在最前面,就以谁的为主,比如a->b在前面,那么最后y会选择1.0版本