dependencies
dependencies标识了一个依赖的引入,只要出现,则代表引入jar包。如果父pom出现,那么子pom会自动把父pom引入的jar包全部引入。
dependencyManagement
dependencyManagement属于在parent中进行配置的一个属性,语法如截图所示。
这里只是声明了一个依赖的的版本号,并没有实质引入依赖的jar包。
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<dependencies>
<dependencyManagement>
当子pom文件引入了父pom文件后,如果子pom文件引用了spring-boot-starter-web的依赖,但是并未指定版本时,那么会自动使用父pom的指定版本号, 如下图所示
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependencies>
如果子pom指定了版本号,则会以子pom的版本号为主。
dependencyManagement的好处:
1、在一个多module的项目开发过程中,我们可以指定一个父pom,在父pom中引入dependencyManagement,然后将常用jar包的版本在父pom中做版本约束,这样强制约束子pom的jar包后,就不会导致各个项目之间因为jar包版本冲突而导致的不必要的麻烦了。
2、如果我们将来想对某个jar包的版本做升级的话,只用在父pom里修改版本即可。