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中pom文件详解
在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...
- Maven中scope标签详解
概述 scope元素的作用:控制 dependency 元素的使用范围.通俗的讲,就是控制 Jar 包在哪些范围被加载和使用.具体值如下: compile:默认值.表示被依赖项目需要参与当前项目的编译 ...
- maven中profiles使用详解
使用的场景 常常遇到一些项目中多环境切换的问题.比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况.springboot中提供了 spring.profile.active的 ...
- Maven中settings文件详解
一.自带的settings文件 二.元素说明 三.两种完整的settings文件 一.自带的settings文件 我们下载一个maven,在其config目录下,都会有一个settings.xml文件 ...
- JavaWeb中filter的详解及应用案例
JavaWeb中filter的详解及应用案例 转载自:http://www.cnblogs.com/vanl/p/5742501.html 一:Filter介绍 Filter可认为是Servlet的一 ...
- Python中self用法详解
Python中self用法详解 https://blog.csdn.net/CLHugh/article/details/75000104 首页 博客 学院 下载 图文课 论坛 APP 问答 商城 V ...
- protobuf前后端解析_前端后台以及游戏中使用google-protobuf详解
前端后台以及游戏中使用google-protobuf详解 [TOC] 0.什么是protoBuf protoBuf是一种灵活高效的独立于语言平台的结构化数据表示方法,与XML相比,protoBuf更小 ...
- linux中mkdir命令含义,Linux中mkdir命令详解
Linux中mkdir命令详解 linux mkdir用来创建目录,要求创建目录的用户在当前目录中具有写权限,并且指定的目录名不能是当前目录中已有的目录. 1. 新建一个文件夹 one 2. 新建三个 ...
- idea中tomcat配置详解
idea中tomcat配置详解 本篇文章主要介绍在idea下配置maven.tomcat.jdk的开发环境. 详细步骤: 1.Edit Configurations 2.Add New Tomcat ...
- Maven中央仓库发布详解
Maven中央仓库发布详解 开通官方账号 注册 提交issue 按照提示步骤操作 准备工作 签名工具 配置Maven Setting.xml 上传jar包 修改项目pom.xml 仓库管理 开通官方账 ...
最新文章
- 30个java_java的30个目标
- nyoj 234 吃土豆
- IDEA设置自定义代码模板
- C#连接MySQL数据库 制作股票交易模拟程序
- JavaScript实现的水珠动画效果
- 【转】C#搭建Oauth2.0认证流程以及代码示例
- 硅谷观察者眼中的亚洲
- window.parent与window.opener的区别与使用
- Linux文本编辑器之vim
- linux文件查找-find和locate
- DOM对象和jquery对象相互转换
- pip install 出现报asciii码错误的解决
- ora 01033 linux,数据库ORA-01033错误解决办法
- Go Module 私有仓库:fatal: could not read Username for ‘https://xxx.com‘: terminal prompts disabled
- 找到小菇凉 (BFS)
- php 公众号管理系统源码,SmartWx微信公众号管理系统 v2.0
- u盘推荐知乎_市面上的U盘怎么选择?U盘那个牌子好?
- 小程序可以跟哪些行业做结合呢?
- 【图文】实操更换系统盘
- 怎么把PPT转成EXE格式,详细步骤