maven 包冲突检查

http://blueskator.iteye.com/blog/2229686 (检查maven 项目jar包依赖是否冲突)原文

 

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

mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforcer.skip=false

 

mvn -U dependency:tree -Dverbose

 

dependency: tree是检查版本冲突的
enforcer:enforce是用来检查重复类的
   简单地用  dependency:tree 往往并不能查看到所有的传递依赖。不过如果你真的想要看所有的,必须得加一个  -Dverbose 参数,这时就必定是最全的了。
   全是全了,但显示出来的东西太多有时候会很烦,加上  Dincludes 或者  Dexcludes ,就会包含或者排除你指定的依赖了,  dependency:tree 就会帮你过滤出来:比如:
mvn dependency:tree -Dverbose -Dincludes=asm:asm  就会出来asm依赖包的分析信息。
解决办法:1)开发在本地执行此命令可以检查Jar包版本冲突:
mvn -X compile dependency:tree -Dverbose >a.log,
然后在a.log文件里查找 是否有"omitted for conflict with",如果有,则表示jar包有版本冲突 ;
注意:有版本冲突的也会显示编译成功的。
(mvn dependency:tree -Dverbose | grep "omitted for conflict with" )
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值