依賴包沖突查詢插件:maven helper
idean自帶沖突視圖:http://blog.csdn.net/albertfly/article/details/64923443

maven工程,一個artifact的jar包可能不只一處被依賴;有時候依賴會出現相同的artifact卻不同版本,相互存在沖突,這時就需要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)