实际开发中可能存在这种情况,A->B->C->X(1.0),A->D->X(2.0),此时X出现了2个版本1.0和2.0,此时A项目会选择X的哪个版本?
解决这种问题,maven有2个原则:
路径最近原则
上面A->B->C->X(1.0),A->D->X(2.0),X的2.0版本距离A更近一些,所以A项目会选择2.0;
但如果出现了路径距离一样,如:A->B->X(1.0),A->D->X(2.0),此时maven又如何选择?
最先声明原则
如果出现了路径一样,此时会看A的pom.xml中所依赖的B、D在dependencies中的位置,谁的声明在最前面,就以谁的为准,比如A->B在前面,那么最后X会选择1.0版本。
所以两个原则:路径最近原则、最先声明原则;
标签:依赖,1.0,原则,调解,路径,Maven,版本,2.0 From: https://www.cnblogs.com/healthinfo/p/17079932.html