依赖传递之冲突解决

依赖传递

    个人理解:依赖传递是指我们在导入某些坐标依赖后,此依赖会携带其所依赖的坐标一起被我们导入,出现在我们的工程中,称为坐标依赖。
    坐标依赖的范围对传递依赖的影响:
           范围:compile、provided、runtime、test

依赖冲突的解决

  1. 第一声明者优先原则:
    在pom文件定义依赖时,可以将你想使用的依赖版本定义到前面,在其后的坐标所依赖的其他版本将会被覆盖。
  2. 路径近者优先原则:
    是指当自身定义到pom文件中时,自身的版本会高于其它坐标所依赖的版本而采用自身的版本。
  3. 排除依赖:
    排除依赖可以使用<exclusions><exclusion><groupId>被依赖的坐标id</groupId><artifactId>想要排除依赖的坐标id</artifactId></exclusion></exclusions>标签
  4. 锁定版本
    此方法不需要考虑依赖路径、声明优先等因素,可在导入坐标之前对坐标的版本进行锁定,但注意是是:在工程中锁定依赖并不代表已添加了依赖,必须在下面导入其对应的依赖,使用<dependencyManagement>坐标;若锁定了坐标的版本,在导入依赖时可不写版本号。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值