1. 依賴路徑最短優先原則
A -> B -> C -> X(1.0)
A -> D -> X(2.0)
由於 X(2.0) 路徑最短,所以使用 X(2.0)。
2. 聲明順序優先原則
A -> B -> X(1.0)
A -> C -> X(2.0)
在 POM 中最先聲明的優先,上面的兩個依賴如果先聲明 B,那麼最後使用 X(1.0)。
3. 覆寫優先原則
子 POM 內聲明的依賴優先於父 POM 中聲明的依賴。
解決依賴衝突
找到 Maven 加載的 Jar 包版本,使用 mvn dependency:tree
查看依賴樹,根據依賴原則來調整依賴在 POM 文件的聲明順序。