为什么加上log4j2.version配置就可以更新log4j2的版本?
最近log4j2
的核弹级漏洞席卷了大部分互联网公司,升级版本成了这两周的核心任务。对于要升级到什么版本,最新版本2.16.0是最佳选择。那么如何快速升级,之前也给出了Spring Boot项目升级版本的最简方法。
大家只需要使用这样的简单配置,就可以把log4j2一系列包的版本都升级了。
如果这种方法不行,注意加了配置之后要reload下。另外,如果你不是Spring Boot项目,或者是通过其他方式引入的log4j2,那么需要单独处理,或者在你项目的根依赖里,直接写上log4j2的依赖并设置版本为2.16.0,强制覆盖其他地方引入的版本。如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:https://blog.didispace.com/spring-boot-learning-2x/
上面的配置很简单,但还是有读者不清楚为什么这样就可以了:
所以,今天就具体给大家说一下这个配置的原理。
一步步了解为什么
下面我会以读代码寻找源头的方式,带你一步步了解这个配置。希望你通过本文除了知道这个问题是为什么,还能学会这种自己探究问题的方法。
第一步:观察下你的pom.xml
,有没有发现很多依赖包括非Spring Boot Starter的依赖都没有写version?
既然没version也能跑,那一定有地方定义了!把焦点转移到parent上,似乎就这里有version!
第二步:进一步查看spring-boot-starter-parent
的内容
进入后可以看到类似下面的xml
配置,其中主要包含的内容是与build相关的,而非依赖信息。
第三步:继续观察spring-boot-starter-parent
中的信息中,可以看到,它还有一个parent,好小子藏那么深!那么就继续深入查看spring-boot-dependencies
的内容:
进入后,我们就可以看到重点了,该Spring Boot版本下各个组件的版本参数就在这里:
搜索log4j2
,可以发现,这个版本下默认使用的是2.14.1
:
继续往下搜,在dependencyManagement
节点下,可以看到各个依赖的版本定义就是引用了上面配置的各个properties
:
所以,当我们在自己的Spring Boot中配置对应的properties
,就可以覆盖parent中的properties
,并实现版本的更新。
好了,今天的小知识你Get到了吗?
其实本身也不是特别难的东西,在Spring Boot文档里也都有提及。可能还是很多小伙伴对于技术知识的学习不够系统化,碎片学习的内容还是居多,一些细枝末节的东西就都给遗漏了。
DD这里顺手给大家一波极具含金量的学习资料,里面涵盖了10个热门技术领域、300+项学习资源。这些内容均来自于阿里淘系技术的50余位工程师,与实战密切关联,非常适合已经入门,想要进一步提升的小伙伴!
具体有些什么内容呢?可以看看下面这份知识地图:
封面及部分内页展示 (左滑)
▐ 如何下载?
▐ 温馨提示
地图小册目录均可实现标题跳转,感兴趣的内容点击标题即可一键传输。
本书下载无需注册和登录账号,获取链接即可下载
小册大小共计 1.5M , 轻巧方便,手机党均可放心下载~
点赞、在看、分享鼓励一下,年终奖翻倍!
为什么加上log4j2.version配置就可以更新log4j2的版本?相关推荐
- Springboot使用Log4j2的配置详解
Springboot使用Log4j2的配置 日志框架的对比和选择 一.依赖配置(pom文件) 二.log4j2.xml文件的配置 三.Log4j2.xml配置文件核心概念解析 1.全局Property ...
- SpringBoot—整合log4j2入门和log4j2.xml配置详解
关注微信公众号:CodingTechWork,一起学习进步. 引言 对于一个线上程序或者服务而言,重要的是要有日志输出,这样才能方便运维.而日志的输出需要有一定的规划,如日志命名.日志大小,日志分 ...
- SpringBoot整合Log4j2以及配置详解
文章目录 标题SpringBoot整合Log4j2以及配置详解 1.加入依赖 2.在src.java.main.resources目录下创建log4j2.xml文件 log4j2.xml文件内容如下: ...
- Log4j日志配置详解(Log4j2)
Log4j日志配置详解 一.Log4j升级Log4j2 首先来说一下日志升级,log4j配置的变化,配置文件从log4j.xml变成了log4j2.xml,配置文件的内容也有很大不同,log file ...
- springmvc使用log4j2的配置,以及解决controller日志只有控制台打印日志,不生成本项目文件夹下
文章目录 1.引包 2. log4j2.xml的配置 3.配置文件中的一些说明 springmvc使用log4j2的配置,以及只有控制台打印日志,不生成文件的解决方式,mvc使用log4j2时会出现在 ...
- Log4j2简单配置
log4j官网:http://logging.apache.org/log4j/2.x/manual/appenders.html 熟读官网内容的请忽视本文,记录英文小白的摸索过程 -------起因 ...
- 开源OA协同办公平台搭建教程:开源O2OA中log4j2使用配置
O2OA应用开发平台是兰德纵横网络技术股份有限公司精心打造的一款开源办公产品,是使用JavaEE技术栈,分布式架构设计的真正全代码开源的企业应用定制化开发平台,平台既可以支持小企业的OA协同办公系统快 ...
- log4j2日志配置不生效
问题描述 设置log4j2的配置文件,为什么不生效呢? 先上配置 Logger performanceLogger = LoggerFactory.getLogger("PERFORMANC ...
- log4j2 日志配置
log4j2.properties 配置 由于最近有一些特殊的需求:异常日志邮件异步发送配置 等等需求.原有的简单配置不能满足现有需求,特做此笔记,留作备忘也同时希望帮助一部分人 如有错误欢迎留言指正 ...
最新文章
- 安卓4.4.4安装哪个微信版本_微信一个开关,速度立马提升一倍
- Android模块化面向接口编程,讲的明明白白!
- 【建议收藏】这个工具专门用于寻找路由器中的安全漏洞
- 效率提升3倍的Paper阅读方法
- Apicloud开发之V7包继承AppCompactActivity后云编译资源找不到的解决办法
- 我对STL的一些看法(五)初识关联容器
- asp.net接受表单验证格式后再提交数据_如何解析 el-form-renderer 表单渲染器1.14.0...
- Win11如何开启旧版组件 Win11开启旧版组件的方法
- 移动web-触摸事件touch
- 项目上线后,谈一下感触比较深的一点:查询优化
- wow 私服trinitycore
- C++自动类型转化--特殊构造函数方法和重载的运算符方法
- 阿里的easyexcel
- qq linux五笔输入法下载软件,QQ五笔下载官方网站
- 情侣博客源码php,wordpress如何搭建简单的情侣博客
- 实现简单的英文字母大小写转换
- m4s格式转换mp3_amr转换mp3格式文件
- 钉钉页面跳转_钉钉统一跳转协议
- 华为自带计算机怎么添加桌面,如何在华为手机的桌面上设置天气和时间
- 《数据库系统应用程序开发》考试
热门文章
- HDU 3397 Sequence operation 线段树 成段更新 区间合并
- [转]带宽计算-大B与小b的区别
- linux 解压 tar.gz 报错 gzip: stdin: not in gzip format
- linux 查看 特定进程 内存
- python3 __repr__ __str__ 区别
- python3 zipfile模块 zip压缩解压
- mysql \g和\G的作用
- python3 json模块操作
- python 信号模块 signal
- C++程序安装卸载WDM驱动