提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
上周四(20211209),发生了一件大事,log4g从2.0开始到2.14.1(2.14.1漏洞修复)之前。存在重大漏洞。这里教大家怎么切换版本,修复漏洞。本人水平有限,如有误导,欢迎斧正,一起学习,共同进步!
前言
思路:重新在项目中导入新的log4j的依赖,然后解决冲突,将有问题的版本替换为正常的版本
具体步骤
1、找到项目,并打开maven的依赖图
2、进入到此界面以后,ctrl+f 搜索 log4j
3、搜到以后,光标放上去,此时是 2.13.3 这个版本是有问题的
4、添加新的修复漏洞后的依赖
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>2.14.1</version>
</dependency>
5、打开Dependency Analyzer 页面(此界面需要idea中安装 maven helper 插件)
6、找到冲突的依赖,右键,exclude
7、reimport 重新导入maven依赖
8、重新打开 Dependency Analyzar 并且要 Refresh UI ,刷新后,会发现log4j的冲突没有了
9、此时重新找到项目,右键 show Dependencies… 完成版本的切换,(从2.13.3 切换至 2.14.1)
总结
其实最开始我试图根据maven依赖网去一级一级的搜索替换,不过替换的过程中发现一级一级的依赖太多,太麻烦了,索性不如直接替换,也省心省力了。