解决log4j漏洞(maven版本切换、版本冲突)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录的

上周四(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依赖网去一级一级的搜索替换,不过替换的过程中发现一级一级的依赖太多,太麻烦了,索性不如直接替换,也省心省力了。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Log4jJava中一款广泛使用的日志记录框架,它提供了丰富的配置选项和灵活的日志输出能力。在Maven项目中,你可以通过依赖管理来集成Log4j,以便在项目中方便地使用其功能。 1. 引入Log4j依赖:在你的`pom.xml`文件中,添加Log4j的基本依赖,例如: ```xml <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.x.y</version> <!-- 请替换为实际版本号 --> </dependency> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.x.y</version> <!-- 请替换为实际版本号 --> </dependency> ``` 这里,`log4j-api`提供接口定义,`log4j-core`提供实际的日志处理功能。 2. 配置log4j:通常情况下,你需要在项目中创建一个名为`log4j2.xml`或`log4j2.properties`的配置文件,来设置日志的级别、输出格式、输出目的地等。这是一个简单的XML配置示例: ```xml <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> </Appenders> <Loggers> <Root level="info"> <AppenderRef ref="Console"/> </Root> </Loggers> </Configuration> ``` 3. 使用日志:在代码中,你可以通过`org.apache.logging.log4j.Logger`接口获取一个logger实例,然后进行日志记录,例如: ```java import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; public class MyClass { private static final Logger logger = LogManager.getLogger(MyClass.class); public void myMethod() { logger.info("This is an info message"); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值