依赖范围不仅可以控制依赖与三种 classpath 的关系,还对传递性依赖产生影响。

假设 A 依赖于 B,B依赖于 C,我们说 A 对于 B 是第一直接依赖,B 对于 C 是第二直接依赖,A 对于 C 是传递依赖。

第一直接依赖的范围和第二直接依赖的范围决定了传递性依赖的范围。

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

  compile test provided runtime
compile compile - - runtime
test test - - test
provided provided - provided provided
runtime runtime - - runtime

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

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

当第二直接依赖的范围是 provided 的时候,只传递第一直接依赖范围也为 provided 的依赖,且传递性依赖的范围同样为 provided;

当第二直接依赖的范围是 runtime 的时候,传递性依赖的范围与第一直接依赖的范围一致,但 compile 例外,此时传递性依赖的范围为 runtime。

最新文章

  1. [原创]java WEB学习笔记109:Spring学习---spring对JDBC的支持:使用 JdbcTemplate 查询数据库,简化 JDBC 模板查询,在 JDBC 模板中使用具名参数两种实现
  2. Android驱动入门-Led控制+app+ndk库+底层驱动
  3. C# 判断 当前设备的IP地址、默认网关、子网掩码在不在同一网段内
  4. JavaScript Patterns 4.6 Immediate Object Initialization
  5. 打开别人Xamarin项目找不到android.jar文件
  6. Ping命令与ICMP协议
  7. android开发 eclipse alt+”/”自动提示失效
  8. 51nod贪心算法入门-----活动安排问题
  9. Effective Java Item2:Consider a builder when faced with many constructor parameters
  10. C# Process类_进程管理器Demo
  11. 100M 宽带办理
  12. 纯真IP数据库格式详解
  13. ZOJ3508 The War 贪心,最大流
  14. linux 运维,代理,acl控制访问
  15. 我的新纪元Day01
  16. Promise(一)
  17. 2018-08-27 使用JDT核心库解析JDK源码后初步分析API命名
  18. 修改CentOS默认yum源为国内yum镜像源
  19. 在Android 下写一个检测软件版本号 以自动升级APP 的插件
  20. 大文本 mysql es

热门文章

  1. hdu 1075 What Are You Talking About 火星文翻译成英文
  2. css 基础知识 (待完善...)
  3. Mysql :分支结构—if函数
  4. MBE风格图标
  5. Spring入门之一-------实现一个简单的IoC
  6. 【pwnable.kr】passcode
  7. 剑指offer_12.31_Day_1
  8. 一本通1166 求f(x,n)
  9. 判断单链表是否有环,并找出环的入口python
  10. App基本界面组件案例