ICode9

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

为什么加上<log4j2.version>配置就可以更新log4j2的版本?

2021-12-17 13:03:32  阅读:173  来源: 互联网

标签:parent Spring 配置 Boot version 版本 log4j2


最近log4j2的核弹级漏洞席卷了大部分互联网公司,升级版本成了这两周的核心任务。对于要升级到什么版本,最新版本2.16.0是最佳选择。那么如何快速升级,之前也给出了Spring Boot项目升级版本的最简方法

大家只需要使用这样的简单配置,就可以把log4j2一系列包的版本都升级了。

如果这种方法不行,注意加了配置之后要reload下。另外,如果你不是Spring Boot项目,或者是通过其他方式引入的log4j2,那么需要单独处理,或者在你项目的根依赖里,直接写上log4j2的依赖并设置版本为2.16.0,强制覆盖其他地方引入的版本。与优秀的人在一起,自己也会慢慢优秀起来!欢迎加入高质量技术交流群

上面的配置很简单,但还是有读者不清楚为什么这样就可以了:

所以,今天就具体给大家说一下这个配置的原理。

一步步了解为什么

下面我会以读代码寻找源头的方式,带你一步步了解这个配置。希望你通过本文除了知道这个问题是为什么,还能学会这种自己探究问题的方法。

第一步:观察下你的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技术交流群,与优秀的人在一起,自己也会慢慢优秀起来!更多Spring Boot教程可以点击直达!,欢迎收藏与转发支持!

标签:parent,Spring,配置,Boot,version,版本,log4j2
来源: https://blog.csdn.net/dyc87112/article/details/121993746

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

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

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

ICode9版权所有