1. 程式人生 > >Maven 排查jar包衝突問題

Maven 排查jar包衝突問題

maven工程,一個artifactId的jar包可能不只一處被依賴;有時候依賴會出現相同的artifactId卻不同版本,相互存在衝突,這時就需要exclude某個版本。

試了在命令列工程目錄下執行mvn dependency:tree可以出來文字的依賴關係,但是不會把一個artifact的每處依賴都顯示出來,只會出現第一次被依賴的地方。

使用eclipse的都知道,如果要檢視一個jar包是如何被依賴進來的,可以開啟工程的pom.xml,切換到dependency hierarchy檢視,然後右上角Filter輸入artifactId就可以清晰地看到它是如何被直接或間接地依賴進來的;找到了就容易到pom檔案裡排除衝突包的引入了。

IntelliJ IDEA,該如何找某個artifact的全部依賴關係?

該工具有個Maven Projects視窗,一般在右側能夠找到,如果沒有可以從選單欄開啟:View>Tool Windows>Maven Projects;

選擇要分析的maven module(idea的module相當於eclipse的project),右擊show dependencies,會出來該module的全部依賴關係圖,非常清晰細緻。

在圖裡選中一個artifact,則所有依賴該artifact的地方都會一起連帶出來突出顯示,如果有不同版本的也會標記出來。這樣該artifact在該工程裡是如何被直接或間接引入的進來也就明朗了。

如果有衝突的版本,可以右擊該版本的節點然後Exclude,對應的pom.xml就已經成功修改了。(IntelliJ IDEA對於檔案的修改都是實時儲存的,無須Ctrl+S)

--------------------- 本文來自 crazy_youngster 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/keshacookie/article/details/50506428?utm_source=copy