Maven包依赖冲突通配符打包插件assembly多module项目

maven包依赖传递问题,mvn dependency:tree查看无包依赖,assembly插件打包时被打进jar包
1.现象

使用maven-assembly-plugin插件打包多module项目p,格式为zip,打完的包中多出了pom中未直接依赖的a.jar包

2.排查

mvn dependency:tree 查看依赖树,并无a.jar的依赖
mvn dependency:tree -Dverbose 查看详细依赖情况发现来源为b.jar
查看b.jar的pom,如下:

<dependency>
     <artifactId>b</artifactId>
     <version>1.0-SNAPSHOT</version>
     <exclusions>
         <exclusion>
             <artifactId>*</artifactId>
             <groupId>*</groupId>
         </exclusion>
</dependency>

b.jar中依赖a.jar,b.jar使用通配符形式排除所有包

3.结论

项目p 依赖b,b依赖a,b中以通配符形式排除所有包后,
在项目p中通过mvn查看依赖树已经排除了a
但通过maven-assembly-plugin插件(版本2.x)打完的包中仍然包含了a.jar

查看官方文档,记录了此bug,即:assembly低版本(3.1.1之前版本),使用通配符排除的包依然会被打进最终的包中。
https://blogs.apache.org/maven/entry/apache-maven-assembly-plugin-version

可通过升级assembly版本为3.1.1解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值