Maven中的dependencyManagement 实例详解
Maven中的dependencyManagement 详解
1.作用:
在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管理器。
2.pom.xml文件中,jar的版本判断的两种途径:
(1)如果dependencies里的dependency自己没有声明version元素,那么maven就会到dependencyManagement里面去找有没有对该artifactId和groupId进行过版本声明,如果有,就继承它,如果没有就会报错,告诉你必须为dependency声明一个version。
(2)如果dependencies中的dependency声明了version,那么无论dependencyManagement中有无对该jar的version声明,都以dependency里的version为准。
3.dependencyManagement与dependencies区别:
(1)dependencies 即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)
(2)dependencyManagement里只是声明依赖,并不实现引入。
(3)因此子项目需要显示的声明需要用的依赖。如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖项,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pom;另外如果子项目中指定了版本号,那么会使用子项目中指定的jar版本。
4.举例:
(1)只是对版本进行管理,不会实际引入jar :
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.0</version>
</dependency>
</dependencies>
</dependencyManagement> (2)会实际下载jar包:
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.17.0</version>
</dependency>
</dependencies> 到此这篇关于Maven中的dependencyManagement 详解的文章就介绍到这了,更多相关Maven dependencyManagement 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
后端Long类型ID传给前端精度丢失(变00)的原因分析及解决方案
在Java中long是一种基本数据类型,用于存储64位的整数值,这篇文章主要介绍了后端Long类型ID传给前端精度丢失(变00)的原因分析及解决方案,文中通过代码介绍的非常详细,需要的朋友可以参考下2026-03-03
springboot集成@Cacheable缓存乱码的问题解决
本文介绍了Springboot应用中遇到的Redis缓存数据乱码问题及其解决方案,问题出现在使用@Cacheable注解后,Redis中的value显示为乱码,下面就来详细的介绍一下该问题的解决,感兴趣的可以了解一下2025-10-10
详解springboot项目带Tomcat和不带Tomcat的两种打包方式
这篇文章主要介绍了详解springboot项目带Tomcat和不带Tomcat的两种打包方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
spring一个项目多个模块聚合打包问题解决方案(最新推荐)
最近遇到个需求,针对后端解耦模块较多的项目,想在云端启动时简洁些只启动一个jar文件的情景,本文重点给大家介绍spring一个项目多个模块聚合打包问题解决方案,感兴趣的朋友一起看看吧2023-09-09
剑指Offer之Java算法习题精讲字符串操作与数组及二叉搜索树
跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化2022-03-03


最新评论