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