3.3.传递依赖和依赖范围的关系

我们来看这样一种依赖

项目A依赖项目B,项目B依赖项目C。那么项目A一定会引入项目C吗?

答案当然是不会的,我们还要看依赖范围(scope)来确认A与C的关系。


我们把A对于B的依赖叫做第一直接依赖

我们把B对于C的依赖叫做第二直接依赖

A对于C是传递性依赖


下图中最左一列表示第一直接依赖范围,最上一行是第二直接依赖范围,中间单元格则表示传递性依赖范围。


依赖范围影响传递性依赖

 compiletestprovidedruntime
compilecompile--runtime
testtest--test
providedprovided-providedprovided
runtimeruntime--runtime


当第二直接依赖的范围是compile的时候传递性依赖的范围与第一直接依赖的范围一致。

当第二直接依赖的范围是test的时候依赖不会得以传递

当第二直接依赖的范围是provided,只有第一直接依赖范围是provided才传递,且传递性依赖的范围同样是provided

当第二直接依赖的范围是runtime,传递性依赖与第一直接依赖范围一致,但complie除外。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值