共计 1076 个字符,预计需要花费 3 分钟才能阅读完成。
最近 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 教程能够点击中转!,欢送珍藏与转发反对!
欢送关注我的公众号:程序猿 DD,分享其余中央看不到的常识与思考