maven中常用标签

1、optional

<optional>true</optional>

作用:

只在你自己的包中会使用,别人引入你的包后,不会出现在他们服务中

eg:

服务A的-api包,引入了easy-excel,加上这个后,服务B引入A-api后,easy-excel不会引入到B中

2、scope:一般作用在test中会加上

<scope>test</scope>

3、exclude

  • 场景:

项目中引入了A包,A包下引入了B包,B包的版本为0.0.1。现线上B的0.0.1版本包存在问题,需要升级到0.0.2

  • 解决

方式一:推动A包,将其依赖的B包升级到0.0.2版本,然后我们引入新的A包

方式二:忽略掉A中的B包,自定义B的版本,具体操作:

1、排查B包是在哪儿引入的【假如不知道是在A中引入的】

选择对应的pom -> 点击依赖分析 -> 全部依赖列表 -> 搜索

mvn dependency:tree , 然后搜索:com.amazonaws:mss-java

2、找到是谁引用了B包

这里是mall - common引入了B包

3、自定义B的版本

// 第一步,先自定义B,引入想要的版本
<dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>mss-java</artifactId>
            <version>0.0.2</version> // 自定义新的版本
</dependency>
        
<dependency>
            <groupId>xxx.common</groupId>
            <artifactId>mall-common</artifactId>
            <version>1.0.3</version>  
// 第二步,在A包中,把B的依赖排除掉
            <exclusions>
                <exclusion>
                    <groupId>com.amazonaws</groupId>
                    <artifactId>mss-java</artifactId>
                </exclusion> 
            </exclusions>
            
        </dependency>

依赖冲突

[ERROR] Rule 1: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:

依赖禁止使用: commons-logging:commons-logging, 需排除此依赖

  • 解决方式同上,找到哪个包使用了commons-logging,然后exclude就可以了
			<dependency>
            // 第一步找到是哪个包引入了commons-logging
            <groupId>xxx.common</groupId>
            <artifactId>mall-common</artifactId>
            <version>1.0.3</version>
            
            // 第二步,排除即可
            <exclusions>
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>
            
        </dependency>

4、如果父pom指定了版本,子也指定了版本,优先使用子pom的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值