maven版本仲裁原則


這里有一個案例是項目里依賴了b組件,b組件依賴了a組件1.0.2版本,而用戶也直接在pom依賴了a組件並聲明的1.0.0版本,結果在仲裁時選擇了1.0.0版本的a組件:

 +- com.xxx:a:jar:1.0.0:compile
 |   
 +- ...
 |  +- ...
 |  
 +- com.xxx:b:jar:1.0.0:compile
 |  |  
 |  +- (com.xxx:a:jar:1.0.2:compile - omitted for duplicate)

對於依賴某個組件的多個版本,maven的仲裁過程,並不是簡單的使用高版本,而是根據從根節點到各個組件節點之間的路徑深度,路徑短的組件優先,如果路徑深度相同,則是先發現的那個。類似一棵樹的廣度遍歷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM