您好,登錄后才能下訂單哦!
今天小編給大家分享的是如何解決Maven依賴沖突,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。
背景
處理
回顧
在項目中screw-core依賴時發生了沖突,控制臺指出是log4j產生的依賴沖突,導致程序報錯無法運行,是一個典型的maven依賴沖突,基于這個問題進行
處理首先查看控制臺報錯日志
基于這個報錯在pom依賴中查看一下
screw-corey依賴是這次新增加的依賴,也就是說依賴沖突是由于screw-core依賴和原有的依賴產生了沖突,具體是哪個依賴,我們打開screw-core依賴進行查看他的依賴,奇怪的是并沒有看到screw-core中存在log4j的引用,這時候想到一個idea的插件 maven-helper
maven-helper這個插件是專門幫助我們解決maven依賴沖突的插件,使用時可以看到具體的依賴沖突是哪些依賴,我進行了安裝使用
首先進入pom文件,安裝插件后會看到左下角有一個Dependency Analyzer按鈕,點擊一下,我們可以看到依賴沖突
依賴沖突有很多,其實這里面的依賴沖突就是不同的依賴引用了不同的版本jar包,但是很多是沒有影響的,這里面差生影響的就是log4j-api,我們看到項目中有兩個版本,一個是2.17.0,一個是2.11.2
點擊2.17.0jump to source 可以看到他的引用,根據pom發現他是在引入screw-core之前就已經存在的依賴,這就說明隨著screw-corey依賴的引入,導入了2.11.2版本的log4j,進而導致依賴沖突,然而在screw-core的依賴引入中沒有看到,就說明是他的下一層架依賴引入或者多層級依賴引入導致的問題。這時候我采用了排除法,對screw-core中類似log4j的依賴逐個排除
排除掉log4j依賴,問題解決
對于maven-helper的idea插件,在市面上是比較火的,但是使用起來并沒有達到我理想中的期望,比如直接找到沖突的依賴,直接排除掉,看了些網上的教程,對于簡單的以來沖突maven-helper可以較快的定位到,但是對于向我遇到的問題,還是需要慢慢的去排查,總之問題解決了,也算是很有收獲。
關于如何解決Maven依賴沖突就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。