1. 程式人生 > >Maven依賴調解:解決依賴衝突

Maven依賴調解:解決依賴衝突

Maven 依賴調解的第一原則:路徑最短者優先

假設專案 A 中存在如下依賴關係:

A -> B -> C -> X(V1)
A -> D -> X(V2)
X(V1)的路徑深度為 3,X(V2) 的路徑深度為 2,X(V2) 的路徑深度比 X(V1) 要短,所以 X(V2) 會被 Maven 解析使用。

Maven 依賴調解的第二原則:最先宣告者優先

假設專案 A 中存在如下依賴關係:

A -> B -> Y(V1)
A -> C -> Y(V2)
Y(V1) 和 Y(V2) 的依賴深度都為 2,所以 Maven 依賴調解的第一原則並不能解決這樣的問題。在依賴路徑深度相等的前提下,根據在 POM 中依賴宣告的先後順序,最先宣告者會被解析使用。該例中如果 B 的依賴宣告在 C 之前,那麼 Y(V1) 就會被解析使用;如果 C 的依賴宣告在 B 之前,那麼 Y(V2)就會被解析使用。
--------------------- 
作者:一朵白菜 
來源:CSDN 
原文:https://blog.csdn.net/hnwhnw86/article/details/79467083 
版權宣告:本文為博主原創文章,轉載請附上博文連結!