15.依赖[高级]
- 依赖的传递性
-
好处:可以传递的依赖不必在每个模块工程中都重复声明,在"最下面"的工程中依赖一次即可。
-
注意:非compile范围的依赖不能传递,所以在各个工程模块中,如果有需要就得重复声明依赖
-
-
依赖的排除
-
需要设置依赖排除的场合
-
依赖排除的设置方式
-
-
依赖的原则
-
作用:解决模块工程之间的jar包冲突问题
-
情景设定1:验证路径最短者优先的原则
-
情景设定2:验证路径先声明者优先
先声明指的是dependency标签的声明顺序
-
-
统一管理依赖的版本
-
情景举例
这里对Spring各个jar包的依赖版本都是4.0.0
如果需要统一升级为4.1.1,怎么办?手动逐一修改不可靠 -
建议的配置方式
-
使用properties标签内使用自定义标签统一声明版本号
-
在需要统一版本的位置,使用${自定义标签名}引用声明的版本号
-
其实properties标签配合自定义标签声明数据的配置并不是只能用于声明依赖的版本号。凡是需要统一声明后再引用的场合都可以使用。
-
-
16.继承
- 现状
- Hello依赖的junit:4.0
- HelloFriend依赖的junit:4.0
- MakeFriend依赖的junit:4.9
- 由于test范围的依赖不能传递,所以必然会分散在各个模块中,很容易造成版本不一致
- 需求:统一管理各个模块工程中对junit依赖的版本
- 解决思路:将junit依赖版本统一提取到"父"工程中,在子工程中声明junit依赖时不指定版本以父工程中统一设定的为准,同时也便于修改
- 操作步骤:
- 创建一个Maven工程作为父工程。注意:打包的方式pom
- 在子工程中声明父工程的引用
- 将子工程的坐标中与父工程坐标中重复的内容删除
- 在父工程中统一管理junit的依赖
- 在子工程中删除junit依赖的版本号部分
- 创建一个Maven工程作为父工程。注意:打包的方式pom
- 注意:配置继承后,执行安装命令时要先安装父工程。
17:聚合
- 作用:一键安装各个模块工程。
- 配置方式:在一个"总的聚合工程"中配置各个参与聚合的模块。
- 使用方式:在聚合工程的pom.xml上点右键->run as->maven install
18:自动化构建
- 提供了自动化构建但是不好用。
搜索的网址!
我们可以到http://mvnrepository.com/搜索需要的jar包的依赖信息。
完结撒花*★,°*:.☆( ̄▽ ̄)/$:*.°★* 。