ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Dependencies与DepencyManagement的区别

2022-02-07 14:32:29  阅读:167  来源: 互联网

标签:DepencyManagement 依赖 version 区别 版本号 jar dependencyManagement Dependencies 子项目


在maven的项目中经常遇到dependencies与dependencyManagement。那么两者有什么区别和联系呢?

DepencyManagement的应用场景

主要应用于多module项目中,有多个子项目共同依赖于某一个jar包。确保这个jar包的版本一致非常有必要。特别是某个包升级以后,不需要在所有的用到的子项目中一一的去修改dependency的version版本号。我们只需要在父项目中DepencyManagement中添加该依赖jar包的maven坐标和版本号。在子项目中的dependencies中只需要添加改jar包的maven坐标,无需再次添加version。更新版本的时候,只需要更新DepencyManagement中的version即可。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。

Dependencies

Dependencies就是直接引入依赖的jar包。如果在多子项目的父项目中直接使用Dependencies,相当于下面所有的子项目自动引入这些jar依赖包。

区别

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

dependencies即使在子项目中不写该依赖项,那么子项目仍然会从父项目中继承该依赖项(全部继承)

标签:DepencyManagement,依赖,version,区别,版本号,jar,dependencyManagement,Dependencies,子项目
来源: https://blog.csdn.net/aofengdaxia/article/details/122808261

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有