前言
在多模块项目的父pom文件里看到既有 dependencyManagement 也有 dependencies,以前只知道 dependencies 的作用是包裹 dependency 的, 而 dependency 是标识所需依赖的,并不知道 dependencyManagement,所以上网搜了下,并记录下。
(ps:网上介绍的很多,这里仅为自己加深印象记录)
正文
官网文档地址 3.6.3版本
dependencyManagement: https://maven.apache.org/ref/3.6.3/maven-model/maven.html#class_dependencyManagement
简而言之呢,dependencyManagement 可以用来给特定依赖指定标准版本,这样我们在单独的dependencies里去声明依赖的时候,如果没有写varsion的,它会去向上找, 用dependencyManagement里声明好的。当然,如果写了version,那就不使用dependencyManagement里面的。
注意:dependencyManagement 只声明版本,并不会直接引入依赖。 需要在单独的dependencies里显式的声明。
例如:
<dependencyManagement>
<dependencies>
<!-- fastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.75</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- fastJson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
</dependency>
</dependencies>