①依赖传递性
【1】好处:可以传递的依赖不必在每个模块工程中都重复声明,在“最下面”的工程中依赖一次即可
【2】注意:非compile范围的依赖不能传递。
②依赖的排除
【1】需要设置依赖排除的场合
【2】依赖排除的设置方式
<exclusions>
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
③依赖的原则:
【1】作用:解决模块工程之间的jar包冲突问题
【2】情景设定1:验证路径最短者优先原则
【3】情景设定2:验证路径相同时先声明者优先
④统一管理依赖的版本
【1】情景举例
这里对 Spring各个jar包的依赖版本都是4.0.0
如果需要统一升级为4.1.1,怎么办?手动逐一修改不可靠
【2】建议配置方式
i.使用properties标签内使用自定义标签统一声明版本号
<properties>
<atguigu.spring.version>4.0.0.RELEASE</atguigu.spring.version>
</properties>
ii.在需要统一版本的位置,使用${自定义标签名}引用声明的版本号
【3】其实properties标签配合自定义标签声明数据的配置并不是只能用于声明依赖的版本号。 凡是需要统一声明后再引用的场合都可以使用。
<properties>
<atguigu.spring.version>4.1.1.RELEASE</atguigu.spring.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>