版权声明:转载请注明出处 https://blog.csdn.net/yrwan95/article/details/88053422
Maven中的dependencyManagement相当于一个对所依赖jar包进行版本管理的管理器。
pom.xml文件中,jar的版本判断的两种途径:
1、如果dependencies中的dependency未声明version,则Maven会去dependencyManagement里寻找是否有对应的版本声明,如有,则继承,如果无,则报错;
2、如果dependencies中的dependency声明了version,无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。
好处:方便统一管理项目的版本号,确保各个子项目的依赖和版本一致。同时可避免在每个子项目中都声明一个版本号,当升级到另一个版本时,只需要在父类pom中更新,无需修改任何一个子项目;如某个子项目需要另一个版本号时,只需在dependencies中声明一个版本号即可,此时子类就会使用子类声明的版本号,不继承父类版本号。
<!--只是对版本进行管理,不会实际引入jar-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>3.2.7</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--会实际下载jar包-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
</dependency>
</dependencies>