解决java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent

本文记录了一次在Flink数据聚合项目中遇到的日志框架冲突问题,具体为slf4j-simple与slf4j-log4j12的重复引入导致的NoClassDefFoundError错误。通过调整pom.xml文件,移除冗余依赖并配置log4j.properties,最终解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

几天前同事给我一个flink数据聚合项目作为二期开发的demo

我先对项目进行了一些测试,过程中在pom里增加了一些依赖

测试程序结束,当我运行项目中的main时直接报错

java.lang.NoClassDefFoundError: org/slf4j/event/LoggingEvent

---找到原因:

我在pom中重复引入了slf4j-simple依赖,和slf4j-log4j12依赖

---解决 :

①注释掉如下pom中第一个slf4j-simple依赖,只使用slf4j-log4j12log4j依赖即可

<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-simple
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-simple</artifactId>
            <version>1.7.25</version>
        </dependency>-->
        <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.7.25</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>

②resource文件夹中增加文件  log4j.properties

log4j.properties内容:

log4j.rootLogger=info, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}  %5p --- [%50t]  %-80c(line:%5L)  :  %m%n
ayout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS}  %5p --- [%50t]  %-80c(line:%6L)  :  %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=../log/agent.log
log4j.appender.R.MaxFileSize=1024KB
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.l

 

重新运行,成功

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值