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