码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 为什么加上<log4j2.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教程可以点击直达!,欢迎收藏与转发支持!

  • 相关阅读:
    C语言之:函数的声明和定义必备练习题
    蓝牙mesh系统开发二 mesh节点开发
    Spring Data JPA 之 @Entity 回调方法
    【信息科学技术与创新】自然语言处理 NLP 计算机与智能 课程总结思考
    使用ElementUI完成登入注册的跨域请求提高开发效率
    【实验1:RT-Thread环境搭建+IIC光线传感器实验】
    城中村智能水电表改造,提升居民生活品质
    Java基础面试题&知识点总结(下篇)
    ECK安装elasticsearch集群及es配置x-pack
    SpringBoot整合redis
  • 原文地址:https://blog.csdn.net/dyc87112/article/details/121993746
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号