pom文件中的dependencyManagement和dependencies的区别

2021-07-09

dependencies

子项目中,自动继承父项目中的相关依赖

dependencyManagement

只是声明依赖,并不实现引入,因此子项目中需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖,并且没有指定版本,才会从父项目中继承该项,并且version和scope都读取父项目中的pom;如果子项目中指定了版本号,那么才会使用子项目中指定的jar版本

下面看一个例子,用idea建立一个parent父项目,然后在parent项目中建立一个child子项目,如下图所示:

pom文件中的dependencyManagement和dependencies的区别

在父项目中,在dependencies引入commons-lang3包,如下图所示

pom文件中的dependencyManagement和dependencies的区别

 然后我们去看下子项目下的依赖情况, 子项目自动引入父项目依赖包,如图所示:

pom文件中的dependencyManagement和dependencies的区别

 

 

接下来看下dependencyManageMent引入情况,在parent引入mysql-connector-java包,如图所示

pom文件中的dependencyManagement和dependencies的区别

 

 查看子项目中的依赖情况,并没有引入mysql-connector-java

pom文件中的dependencyManagement和dependencies的区别

 在子项目中显示的引入包,但是没有指定版本号,如下图所示

pom文件中的dependencyManagement和dependencies的区别

 从图中看出,引入进来的版本与父项目声明的版本号一致

dependencies

pom文件中的dependencyManagement和dependencies的区别

上一篇:vue 路由跳转四种方式 (带参数)


下一篇:pandas读取Excel