maven仲裁機制

零、前言
先看幾個不同要素:
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版本,引起版本不支持的錯誤。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內容