一 dependencyManagement
1.1 dependencyManagement作用
在maven的聚合工程中,父模块的pom文件中,使用dependencymanagement来管理依赖版本号。目的是让所有子项目引用一个依赖而不用显示的列出版本号。
使用dependencyManagement统一管理项目的版本号,确保应用的各个项目的依赖和版本一致,不用每个模块项目都弄一个版本号,不利于管理。
1.2 传递依赖关系
dependencyManagement里只是声明依赖,并不自动实现引入,需要子项目声明需要用的依赖。
如果不在子项目中声明依赖,是不会从父项目中继承下来的;
如果在子项目中写了该依赖项,但是没有指定具体版本,这时候才会从父项目中继承相应依赖,以及相应的version和scope;
1.3 案例
1.在父模块中通过dependencyManagement来管理。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.2</version>
</dependency>
</dependencies>
</dependencyManagement>
2.在子模块中需要显式通过申明<groupId>和<artifactId>即可
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>