依赖管理.md
依赖配置
1 | <!-- jar--> |
依赖传递
- 依赖具有传递性:
- 直接传递:
- 在当前项目中通过依赖配置建立的依赖关系。
- 间接传递:
- 被资源的资源如果依赖其它资源,当前项目间接依赖其它资源。
- 直接传递:
- 依赖传递冲突问题:
- 路径优先:
- 在依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高。
- 声明优先:
- 当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的。
- 特殊优先:
- 当同级配置了相同资源的不同版本,后配置的覆盖先配置的。
- 路径优先:
可选依赖
- 可选依赖指对外隐藏当前依赖的资源:不透明
1
2
3
4
5
6<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<optional>true</optional>
</dependency>
排除依赖
1 | <dependency> |
依赖范围(作用域)
依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
作用域范围:
- 主程序范围有效(main文件夹范围内)。
- 测试程序范围有效(test文件夹范围内)。
- 是否参与打包(package指令范围内)。
依赖范围传递性
- 带有依赖范围的资源在进行传递时,作用范围将受到影响。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LT的编程笔记!