最近閒下來,想解決一下maven打包後包過大的問題。也就是,我們要找出項目裏面實際上並沒有用到的包,但是卻依賴了的。
就是我們要去掉沒用到的包。
搜索了大半天,終於發現maven有個命令是用來分析依賴的。
mvn dependency:analyze
好,接下來我們在eclipse裏面運行一下試試看。如下圖:
運行結果如下:
這裏分析結果我們發現這個命令會將依賴分爲兩類:
第一類:Used undeclared dependencies found
這個是指,某些依賴的包在代碼中有用到它的代碼,但是它並不是直接的依賴,也沒有在pom中聲明,是通過傳遞引入的一類包。
這裏重點我們關注第二類:
Unused declared dependencies found
這個就是我們在pom中聲明依賴了,但是在實際代碼中並沒有用到的包!也就是多餘的包。
注意:這裏說的實際代碼沒有用到,指的是在main/java和test裏沒有用的,但是並不是意味着別的地方沒有用到,所以在刪除依賴的時候,我們要小心,最好備份,例如我們在web.xml裏面用到某些類,這個類依賴包A,這個maven是分析不出來的。還有運行時需要用到的也分析不出來!!!