Maven中dependencyManagement标签

Maven 使用 dependencyManagement 元素提供一种管理依赖版本号的方式,通常在项目最顶层的父 POM 文件中看到 dependencyManagement 元素。使用 dependencyManagement 元素能让所有在子项目中引用一个依赖而不显式的列出版本号。子项目中的 Maven 会沿着父层次向上走,直到找到一个拥有 dependencyManagement 元素的项目,然后会使用这个 dependencyManagement 元素中指定的版本号。这样就可以控制整个项目的版本号,如果要升级某个依赖的版本号,只需要在 dependencyManagement 里面声明要升级的版本号,而不用每个子项目都去升级。

1
2
3
4
5
6
7
8
9
10
11
12
<dependencyManagement>
<dependencies>
<!-- SpringCloud alibaba 2.1.0.RELEASE -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

子项目中可以:

1
2
3
4
5
6
7
<dependencies>
<!-- SpringCloud alibaba 2.1.0.RELEASE -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
</dependency>
</dependencies>

不过要注意的是,dependencyManagement 只是声明依赖,并不会为子项目引入依赖,子项目需要显式的声明要使用的依赖。