1. 程式人生 > >解決maven傳遞依賴中的版本衝突

解決maven傳遞依賴中的版本衝突

如果用的是eclipse,那就用run as-build-在Goals那個框框裡輸入:project-info-reports:dependencies,如果實在dos環境下,就mvn project-info-reports:dependencies。然後就會在target的資料夾下,生成一個site資料夾,裡邊有個dependency.html,進去就能看到詳細的依賴的資訊。
或者直接在eclipse中開啟pom.xml檔案
會看到開啟的視窗中有一個dependency hie開頭的選項卡。
這個選擇卡頁面左半部分顯示了詳細的jar包依賴樹。右半部分則是maven將會下載的jar包。
比如我們看到右半部分
有2個asm的jar,版本不同。
現在需要排除其中低版本的jar(比如xwork-core下的某個jar依賴的asm版本相對較低,不一定說是xwork-core依賴,而是它的依賴的依賴,即多重依賴的asm都是可以的)
<dependency><groupId>org.apache.struts.xwork</groupId><artifactId>xwork-core</artifactId><version>${struts.version}</version><exclusions><exclusion>
<artifactId>asm</artifactId><groupId>asm</groupId></exclusion></exclusions></dependency>當然我們也可以在dependency hie開頭的選項卡中右半部分直接選中那個低版本的asm.jar。然後右鍵exclude maven...點選確定會自動生成上面的。