程序员,贵在坚持

pom文件中的dependencyManagement和dependencies的区别


dependencies

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

 

dependencyManagement

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

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

 

 

 

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

 

 

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

 

 

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

 

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

 

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

 

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

 

dependencies

posted on 2019-10-20 20:38  程序员,贵在坚持  阅读(2033)  评论(0编辑  收藏  举报

导航