零、前言
先看幾個不同要素:
1、jar包引入,有直接引入和間接引入,所謂的引用路徑 就可能有差異。
2、jar包還有版本號,高低版本之稱。
3、jar引入有順序,先后之分。
一、機制
那么maven是怎么來排序的呢,
1、<dependencyManagement> 顯示什么管理
加上這個標簽,顯示聲明,優(yōu)先級最高,如果在此標簽里有聲明版本號,則一定用這個版本。
另外,這個聲明,不會真正引入jar,而是在需要依賴的時候,真正的引入。
2、沒有聲明的時候
按照如下順序
1)、先看路徑,短路徑優(yōu)先原則,優(yōu)先引用,在IDEA的包結構圖也可以看到引用路徑。
2)、路徑一致,則看引用順序,第一聲明優(yōu)先。
二、其他
建議用<dependencyManagement> 管理版本。
如果不想用<dependencyManagement> ,則就要把第三方的jar包引用提前,而直接引用的jar包放后,
防止修改了第三方引用的其他jar版本,引起版本不支持的錯誤。