idea如何解決maven依賴沖突
最近在一個(gè)老spring項(xiàng)目上面需要適配一個(gè)新功能,過(guò)程中也需要升級(jí)spring的版本,然后最后就導(dǎo)致maven的依賴包很亂,同一個(gè)包存在多個(gè)版本,本文就記錄下使用idea解決maven的依賴沖突,同時(shí)記錄下assembly打包插件的坑。
依賴沖突解決
首先打開(kāi)pom文件,然后右鍵按如下圖選擇進(jìn)入到該pom文件的整個(gè)依賴關(guān)系圖
依賴關(guān)系圖一般都很大,基本看不清,如下:
如果你知道哪些包產(chǎn)生沖突,那么mac下可直接common+f快捷搜索
然后找到對(duì)應(yīng)的包排除即可,這里的紅色虛線即表示與哪些jar包產(chǎn)生沖突,如下圖可以看到spring-aop存在兩個(gè)版本,導(dǎo)致沖突,排除即可:
此時(shí)pom文件中會(huì)自動(dòng)排除,在對(duì)應(yīng)的依賴上會(huì)增加exclusion標(biāo)簽
ps:如果你不知道哪些jar包產(chǎn)生沖突,那么需要你首先將整個(gè)依賴圖變成1:1,這樣會(huì)看的清楚點(diǎn)
assembly插件版本的坑
改完所有依賴沖突后,以spring為例,即maven中將spring的版本都已更改為4.2.0,但本地打了包驗(yàn)證發(fā)現(xiàn)部分jar包仍然依賴了4.1.9的spring,即spring升級(jí)前的版本,這就非常奇怪,通過(guò)mvn dependency:tree -D output=test.txt嘗試輸出依賴樹(shù),發(fā)現(xiàn)依賴樹(shù)中也都是正確的,即都是4.2.0,并沒(méi)有4.1.9的spring包。
既然本地依賴都是正確的,那么出問(wèn)題的可能就在打包的過(guò)程中,由于我們項(xiàng)目使用到了assembly插件,初步懷疑與它的版本有關(guān),嘗試在某個(gè)進(jìn)程下升級(jí)了版本號(hào),果然生效了...猜想估計(jì)低版本的assembly在打包過(guò)程中可能不會(huì)去下載高版本的spring把,升級(jí)之前的assembly插件版本為2.6,升級(jí)后為3.1.1,僅作記錄。
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
從Mybatis-Plus開(kāi)始認(rèn)識(shí)SerializedLambda的詳細(xì)過(guò)程
這篇文章主要介紹了從Mybatis-Plus開(kāi)始認(rèn)識(shí)SerializedLambda,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07教你如何在IDEA?中添加?Maven?項(xiàng)目的?Archetype(解決添加不起作用的問(wèn)題)
這篇文章主要介紹了如何在?IDEA?中添加?Maven?項(xiàng)目的?Archetype(解決添加不起作用的問(wèn)題),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08Java多線程文件分片下載實(shí)現(xiàn)的示例代碼
這篇文章主要介紹了Java多線程文件分片下載實(shí)現(xiàn)的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03gateway網(wǎng)關(guān)接口請(qǐng)求的校驗(yàn)方式
這篇文章主要介紹了gateway網(wǎng)關(guān)接口請(qǐng)求的校驗(yàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07關(guān)于Http持久連接和HttpClient連接池的深入理解
眾所周知,httpclient是java開(kāi)發(fā)中非常常見(jiàn)的一種訪問(wèn)網(wǎng)絡(luò)資源的方式了,下面這篇文章主要給大家介紹了關(guān)于Http持久連接和HttpClient連接池的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-05-05Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析
這篇文章主要介紹了Spring中@DependsOn注解的作用及實(shí)現(xiàn)原理解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03