Maven使用<dependencyManagement>元素来提供一种管理依赖版本号的方式,通常会在一个项目的最顶层的父pom中看到<dependencyManagement>元素。
使用<dependencyManagement>元素能让所有子项目引用一个依赖而不显式列出版本号,子项目Maven会沿着父子层次往上走,知道找到一个拥有<dependencyManagement>元素的项目,使用相同依赖指定的版本号。
例如在父项目中:
<dependencyManagement> <dependencies> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.2</version> </dependency> </dependencies> </dependencyManagement>
在子项目中添加mysql-connector-java可以不指定版本号,如:
<!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> </dependency> </dependencies>
需要注意的是:
1.<dependencyManagement>只是声明依赖,并不实现引入,子项目需要显示声明需要用的依赖
2.如果子项目需要另一版本依赖,只需要在子项目pom中声明改依赖的版本号