首先,这三个maven的pom文件标签都是用来进行包管理的
势力范围由dependencyManagement>dependencies>dependency依次减弱,并且每个标签都是上一个标签的下级。

dependencyManagement:管理依赖版本号
通常会在一个组织或者项目的最顶层的父pom中看到dependencyManagement
使用pom.xml中的dependencyManagement元素能让所有在子项目中引用一个依赖而不用显示的列出版本号。
maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用这个dependencyManagement元素中指定的版本。

这样的好处就是:如果有多个子项目都引用同一样依赖,则可以避免在每个使用的子项目里都声明一个版本号,这样当想升级或者切换到另一个版本时,只需要在顶层父容器里更新,而不需要一个一个子项目的修改;另外如果某个子项目需要另一个版本,只需要声明version即可。

注意:

  • dependencyManagement里只是声明依赖,并不实现引入,因此子项目需要显示的声明需要用的依赖

  • 如果不在子项目中声明依赖,是不会从父项目中继承下来的;只有在子项目中写了该依赖,并且没有指定具体版本,才会从父项目中继承该项,并且version和scope都读取自父pon

  • 如果子项目中指定了版本号,那么会使用子项目中指定的jar版本
    dependencies:自动引入声明在dependencies里的所有依赖,并默认被所有的子项目继承。如果项目中不写依赖项,则会从父项目
    继承(属性全部继承)声明在父项目dependencies里的依赖项。

dependency:是在dependencies下进行具体依赖项的引用

dependencies和dependency以及dependencyManagement三者的区别?相关推荐

  1. 【maven】 依赖树(dependency、dependencyManagement)

    文章目录 1. 概述 1.1 父pom中的dependencies 1.2 父pom中的dependencyManagement 2. 查看依赖树 3. 处理冲突 3.1 处理冲突的原则 3.2 如何 ...

  2. 我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等)...

    我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等) 转载于:https://www.cnblogs.com/Totooria-Hyperion/p/5260289.htm ...

  3. 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别

    翻译 | AI科技大本营 参与 | Shawn 编辑 | Donna [AI科技大本营导读]我们常常提及数据科学.机器学习和人工智能,也有一个整体的概念.但是,如果要清晰地说出三者的定义分别是什么,区 ...

  4. C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别

    C++ 在继承中虚函数.纯虚函数.普通函数,三者的区别 1.虚函数(impure virtual) C++的虚函数主要作用是"运行时多态",父类中提供虚函数的实现,为子类提供默认的 ...

  5. 【c++】27.事件驱动、IO复用、sellect、poll、epoll三者的区别

    一.事件驱动的理解: 1.要理解事件驱动和程序,就需要与非事件驱动的程序进行比较.实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的.早期则存在许多非事件驱动的程序,这样的程序,在 ...

  6. MAVEN POM dependencies and Dependency Exclusions

    2019独角兽企业重金招聘Python工程师标准>>> Introduction This section discusses the functionality of option ...

  7. 转 框架页有Frame、Iframe、Frameset 3个标记,初学者容易将三者混淆,下面分别讲解三者的区别。...

    框架页有Frame.Iframe.Frameset 3个标记,初学者容易将三者混淆,下面分别讲解三者的区别. 10.4.1  Frameset与Frame的区别 首先讲解Frameset与Frame之 ...

  8. Java基础之String,StringBuilder,StringBuffer三者的区别

    Java基础之String,StringBuilder,StringBuffer三者的区别 目录 运行速度方面 线程安全方面 小结 1. 运行速度方面 运行速度,在这方面运行速度快慢为:StringB ...

  9. mysql点击execute_MySQL execute、executeUpdate、executeQuery三者的区别

    execute.executeUpdate.executeQuery三者的区别(及返回值) 一.boolean execute(String sql) 允许执行查询语句.更新语句.DDL语句. 返回值 ...

最新文章

  1. 2-AII--BroadcastReceiver有序广播
  2. java控制结构_java控制结构WORD
  3. 数据结构(c语言版)笔记6,2020考研计算机《数据结构(C语言版)》复习笔记(6)
  4. C++:读写二进制文件到double数组
  5. Vertx JDBC 批处理
  6. 转化百分比_localPosition与anchoredPosition的转化关系
  7. Windows监听进程的两个函数
  8. mysql 什么时候用内连接_mysql显示内连接和隐式内连接的区别,什么时候非要用到显示内连接。...
  9. DDMF PluginDoctor Mac - 插件分析器音频质量测试
  10. 为IT部门画一个“饼”
  11. Linux下安装gcc报错的情况解决方案
  12. 编程新手导论(转载)
  13. 海量数据搜索---demo展示百度、谷歌搜索引擎的实现
  14. html如何将图片作为网页背景,html文档中如何把图片作为背景
  15. 手机图形计算器matlab,Mathlab计算器安卓版
  16. k8s集群Canal的网络控制
  17. C++ 次方/次幂函数
  18. 修改Centos7.6服务器时间
  19. python电话号码_Python有效电话号码
  20. Oracle Cardinality Feedback

热门文章

  1. 小猿日记 - 程序猿的日常日记(1)
  2. 广工计科-大物-小测大考-例题
  3. deepin 系统微信打不开。
  4. Ardunio开发实例-VL53L0X飞行时间传感器
  5. mysql学号数据类型_数据库常见数据类型和约束
  6. 【多线程】Volatile和Happens-Before原则
  7. 【经验】gitHub上很棒的一些Unity资源分享(持续更新)
  8. Fluent 熔化固化模型学习(melting and solidification)
  9. 基于html超市管理系统,基于HTML5的超市综合管理系统的研究与实现
  10. 数据结构与算法:二叉树专题