pom文件中的dependencyManagement和dependencies的区别

2021-07-09

dependencies

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

dependencyManagement

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

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

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

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

 

 

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

 

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

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

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

dependencies
posted @   秦时明月0515  阅读(90)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示