java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker 解决办法

本文探讨了在Java应用中遇到的NoSuchMethodError异常,并提供了通过检查并替换特定库来解决问题的方法。

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

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)V
at org.apache.commons.logging.impl.SLF4JLocationAwareLog.debug(SLF4JLocationAwareLog.java:133)
at org.apache.http.client.protocol.RequestAuthCache.process(RequestAuthCache.java:75)
at org.apache.http.protocol.ImmutableHttpProcessor.process(ImmutableHttpProcessor.java:131)
at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:193)
at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:86)
at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:108)

 

 

     URL urlOfClass =ClassPathXmlApplicationContext.class.getClassLoader().getResource("org/slf4j/spi/LocationAwareLogger.class");
        System.out.println(urlOfClass);

  用上面的方法找到所在jar包

jar:file:/D:/Program%20Files/MyEclipse%20for%20Spring/plugins/com.genuitec.eclipse.j2eedt.core_11.0.2.me201308131645/data/libraryset/EE_6/bean-validator.jar!/org/slf4j/spi/LocationAwareLogger.class

解决:将myeclipse自带的Jee 6 library 移除就可以了

 

 

 


 

这个错误信息通常出现在使用SLF4JLog4j进行日志记录时,表示在运行时找不到指定的方法。具体来说,`java.lang.NoSuchMethodError: org.apache.logging.slf4j.Log4jLoggerFactory: method <init>()V not found` 意味着在`org.apache.logging.slf4j.Log4jLoggerFactory`类中找不到无参构造方法。 这种情况通常由以下几个原因引起: 1. **版本不兼容**:使用的SLF4J版本和Log4j版本不兼容。确保你使用的SLF4J版本和Log4j版本是相互兼容的。 2. **类路径冲突**:类路径中存在多个版本的SLF4JLog4j库,导致加载了错误的类。 3. **缺少依赖**:缺少必要的依赖库,导致类文件未正确加载。 解决方法如下: 1. **检查版本兼容性**:确保你使用的SLF4JLog4j版本是兼容的。可以参考官方文档或Maven/Gradle配置文件。 2. **清理类路径**:确保类路径中只存在一个版本的SLF4JLog4j库。可以通过`mvn dependency:tree`或`gradle dependencies`命令来检查依赖树。 3. **添加缺失的依赖**:如果缺少必要的依赖库,确保在项目中正确添加这些依赖。 示例解决方案(使用Maven): ```xml <dependencies> <!-- SLF4J API --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.30</version> </dependency> <!-- Log4j 2 SLF4J Binding --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.14.1</version> </dependency> <!-- Log4j 2 Core --> <dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.14.1</version> </dependency> </dependencies> ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值