一、maven依賴原則
-
依賴最短路徑優先原則
一個項目Demo依賴了兩個jar包,其中A-B-C-X(1.0) , A-D-X(2.0)。由於X(2.0)路徑最短,所以項目使用的是X(2.0)。
- pom文件中申明順序優先
如果A-B-X(1.0) ,A-C-X(2.0) 這樣的路徑長度一樣怎么辦呢?這樣的情況下,maven會根據pom文件聲明的順序加載,如果先聲明了B,后聲明了C,那就最后的依賴就會是X(1.0)。
-
覆寫優先
子pom內聲明的優先於父pom中的依賴。
二、如何解決jar沖突
遇到沖突的時候第一步要找到maven加載的到時是什么版本的jar包,通過們mvn dependency:tree
查看依賴樹,通過maven的依賴原則來調整坐標在pom文件的申明順序是最好的辦法。