天天看点

maven 检查依赖冲突和版本冲突

在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:

1

2

3

<code>mvn -u clean </code><code>package</code> <code>-dmaven.test.skip=</code><code>true</code> <code>enforcer:enforce -dcheckdeployrelease_skip=</code><code>true</code> <code>-denforcer.skip=</code><code>false</code>

<code>mvn -u dependency:tree -dverbose</code>

dependency: tree是检查版本冲突的

enforcer:enforce是用来检查重复类的

简单地用 dependency:tree往往并不能查看到所有的传递依赖。不过如果你真的想要看所有的,必须得加一个 -dverbose参数,这时就必定是最全的了。

全是全了,但显示出来的东西太多有时候会很烦,加上 dincludes或者 dexcludes,就会包含或者排除你指定的依赖了, dependency:tree就会帮你过滤出来:比如:

mvn dependency:tree -dverbose -dincludes=asm:asm 就会出来asm依赖包的分析信息。