- 依赖配置:一个项目中可以配置多个依赖
- 依赖的传递
依赖具有传递性
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被资源的资源如果依赖其他资源,当前项目间接依赖其他资源
依赖传递冲突问题
- 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高。
- 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的。
- 特殊优先:当相同配置了相同资源的不同版本,后配置的覆盖先配置的。
<dependencies>
<dependency>
<!-- 通过引用别的项目的坐标 实现依赖的传递-->
<groupId>org.example</groupId>
<artifactId>brand-demo</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
3.可选依赖
可选依赖指对外隐藏当前所依赖的资源-不透明
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.5.5</version>
<!-- 隐藏依赖-->
<optional>true</optional>
</dependency>
4.排除依赖
排除依赖指主动断开依赖的资源,被排除的资源无需制定版本---不需要
<dependency>
<!-- 通过引用别的项目的坐标 实现依赖的传递-->
<groupId>org.example</groupId>
<artifactId>brand-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<!-- exclusions 排除依赖 不针对版本号 排除全部版本-->
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>