如何精簡maven項目的依賴jar包
maven依賴管理,真的是一把雙刃劍,規範和簡化了依賴配置,但是也像個黑盒子,隐藏了太多的東西,依賴了很多沒有用到的jar包。
今天我們就聊一聊如何用maven的dependency插件,分析依賴關系,進而精簡依賴jar包。
檢視目前的依賴情況
mvn dependency:tree > tree.txt
分析依賴情況, 請把結果存入tree.txt檔案
分析一下那些jar沒有用到
mvn dependency:analyze
檢視哪些jar沒有用到,示例結果如下。 analyze是基于位元組碼分析的。當然這些結果僅供位元組碼分析的不一定完全準确, 僅供參考。 runtime類型的依賴就分析不了的。
[WARNING] Unused declared dependencies found:
[WARNING] org.eclipse.jetty:jetty-server:jar:9.3.18.v20170406:compile
[WARNING] org.apache.tapestry:tapestry-json:jar:5.4.1:compile
[WARNING] com.netflix.hystrix:hystrix-metrics-event-stream:jar:1.5.8:compile
[WARNING] org.mybatis:mybatis:jar:3.3.0:compile
删 and exlusive
删除沒有用到的jar依賴, 看看效果。
mvn dependency:tree > tree_new.txt
參考連結
- Apache Maven Dependency Plugin