问题解决:java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log

问题场景

tomcat项目启动之后,报错,报错提示如下:

java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log(Lorg/slf4j/Marker;Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;Ljava/lang/Throwable;)

本文主要是针对此种情况进行阐述说明。

问题环境

软件版本
tomcat7

问题原因

一般这种情况,都是因为版本冲突。因为博主是使用IDEA的,所以全局搜索了 org.slf4j.spi.LocationAwareLogger,搜索结果如下:
在这里插入图片描述
从搜索结果可以知道,是存在有两个lib包的。我们点击进去查看具体的文件内容,其中1.7.2的内容如下:
在这里插入图片描述

而1.5.0的内容如下:
在这里插入图片描述
从报错提示中,我们可以知道方法参数是有5个参数的,而1.7.2版本里面是有6个参数的。所以,就是项目运行过程,先加载了1.7.2的代码,导致其他调用1.5.0版本的代码出错。

解决方案

移除slf4j-api-1.7.2.jar即可。

结果

程序运行正常。

总结

NoSuchMethodError除了是缺包之外,还可能是版本冲突。逐步进行分析,最后一般都可以顺利解决问题的。

随缘求赞

如果我的文章对大家产生了帮忙,可以在文章底部点个赞或者收藏;
如果有好的讨论,可以留言;
如果想继续查看我以后的文章,可以点击关注
可以扫描以下二维码,关注我的公众号:枫夜之求索阁,查看我最新的分享!
在这里插入图片描述
拜拜

posted on 2022-11-29 18:39  枫夜求索阁  阅读(634)  评论(0)    收藏  举报

导航