dependencies和dependency以及dependencyManagement三者的区别?
首先,这三个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三者的区别?相关推荐
- 【maven】 依赖树(dependency、dependencyManagement)
文章目录 1. 概述 1.1 父pom中的dependencies 1.2 父pom中的dependencyManagement 2. 查看依赖树 3. 处理冲突 3.1 处理冲突的原则 3.2 如何 ...
- 我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等)...
我先了解一下博客园创建随笔/文章/日记的过程与三者的区别(隐私等级,是否审核等) 转载于:https://www.cnblogs.com/Totooria-Hyperion/p/5260289.htm ...
- 学习数据科学、机器学习与AI没有多大交集,一文告诉你三者最大区别
翻译 | AI科技大本营 参与 | Shawn 编辑 | Donna [AI科技大本营导读]我们常常提及数据科学.机器学习和人工智能,也有一个整体的概念.但是,如果要清晰地说出三者的定义分别是什么,区 ...
- C++ 在继承中虚函数、纯虚函数、普通函数,三者的区别
C++ 在继承中虚函数.纯虚函数.普通函数,三者的区别 1.虚函数(impure virtual) C++的虚函数主要作用是"运行时多态",父类中提供虚函数的实现,为子类提供默认的 ...
- 【c++】27.事件驱动、IO复用、sellect、poll、epoll三者的区别
一.事件驱动的理解: 1.要理解事件驱动和程序,就需要与非事件驱动的程序进行比较.实际上,现代的程序大多是事件驱动的,比如多线程的程序,肯定是事件驱动的.早期则存在许多非事件驱动的程序,这样的程序,在 ...
- MAVEN POM dependencies and Dependency Exclusions
2019独角兽企业重金招聘Python工程师标准>>> Introduction This section discusses the functionality of option ...
- 转 框架页有Frame、Iframe、Frameset 3个标记,初学者容易将三者混淆,下面分别讲解三者的区别。...
框架页有Frame.Iframe.Frameset 3个标记,初学者容易将三者混淆,下面分别讲解三者的区别. 10.4.1 Frameset与Frame的区别 首先讲解Frameset与Frame之 ...
- Java基础之String,StringBuilder,StringBuffer三者的区别
Java基础之String,StringBuilder,StringBuffer三者的区别 目录 运行速度方面 线程安全方面 小结 1. 运行速度方面 运行速度,在这方面运行速度快慢为:StringB ...
- mysql点击execute_MySQL execute、executeUpdate、executeQuery三者的区别
execute.executeUpdate.executeQuery三者的区别(及返回值) 一.boolean execute(String sql) 允许执行查询语句.更新语句.DDL语句. 返回值 ...
最新文章
- 2-AII--BroadcastReceiver有序广播
- java控制结构_java控制结构WORD
- 数据结构(c语言版)笔记6,2020考研计算机《数据结构(C语言版)》复习笔记(6)
- C++:读写二进制文件到double数组
- Vertx JDBC 批处理
- 转化百分比_localPosition与anchoredPosition的转化关系
- Windows监听进程的两个函数
- mysql 什么时候用内连接_mysql显示内连接和隐式内连接的区别,什么时候非要用到显示内连接。...
- DDMF PluginDoctor Mac - 插件分析器音频质量测试
- 为IT部门画一个“饼”
- Linux下安装gcc报错的情况解决方案
- 编程新手导论(转载)
- 海量数据搜索---demo展示百度、谷歌搜索引擎的实现
- html如何将图片作为网页背景,html文档中如何把图片作为背景
- 手机图形计算器matlab,Mathlab计算器安卓版
- k8s集群Canal的网络控制
- C++ 次方/次幂函数
- 修改Centos7.6服务器时间
- python电话号码_Python有效电话号码
- Oracle Cardinality Feedback