Maven中依賴版本衝突問題

2021-08-19 19:20:04 字數 806 閱讀 8117

解決該問題有四種原則:路徑近者優先原則,第一宣告者優先原則,這兩種原則又統稱為調節原則,還有排除原則和版本鎖定原則。

以下原則struts2-spring-plugin中的spring-bean-3.0.5包和spring-context中spring-bean4.2.4版本做例子進行說明

一、路徑近者優先原則

上述的那兩個jar包如果說成是別人建立的, 如果自己新增乙個新的sping-bean-4.2.4包,那自己新增的這個jar包則是離我距離最近的那個jar包,所以當專案使用時應會優先使用我自己新增的spring-bean,這就是路徑近者優先原則。

該原則有註冊filter時有些類似,即誰先註冊的就先使用誰。

三、排除原則

排除原則是在某個不用的座標下新增exclusion標籤,如下圖所示

四、版本鎖定原則

以上就是關於解決依賴版本衝突問題的解決方案!

maven 傳遞依賴 衝突解決

依賴是會被傳遞 a c b a b c 這種依賴是基於compile這個範圍進行傳遞 在dependency配置中如果沒有寫scope預設就是compile範圍,依賴的傳遞主要是針對compile作用域 依賴的範圍 test範圍指的是測試範圍有效,在編譯和打包時都不會使用這個依賴 compile範圍...

maven依賴的問題

junit和jackson的依賴問題 junit的依賴錯誤 問題 錯誤 程式包org.junit不存在 檢查報錯的檔案,發現用到了 importorg.junit.before importorg.junit.test 於是搜尋發現,before,after只支援4.x.x的版本,而原工程中的pom...

方法衝突 Gradle解決依賴版本衝突方法

在平時的gradle專案中,總會出現多專案依賴的版本衝突問題。下面簡單介紹依賴衝突的解決方法 使用exclude。指定group,module。其中module可以不指定。依賴hibernate,其中hibernate中依賴了org.slf4jcompile org.hibernate hibern...