如何精简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