NoClassDefFoundError: Could not initialize class org.slf4j.MDC解决方案

一个项目最近出现下面的异常:

image.png

NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。

从上面异常堆栈可知道项目使用的是logback日志框架。且在运行的时候发现找不到org.slf4j.MDC这个类。我们知道logbacklog4j如果同时引入的话,会出现一些很是怪异的问题。所以需要看下是否某个jar传递依赖引入log4j的包。

需要下载一个idea的插件Maven Helper—— 解决maven冲突来分析pom依赖。

知识点:JAVA中的日志slf4j从0到1(slf4j-log4j和logback出现多个绑定的异常)

日志框架家族.png

因为我们系统使用的是logback日志框架,那么通过Maven Helper插件去分析是否引入了slf4j-log412.jar这个依赖,如果引入了,则借助Maven Helperexclude掉这个依赖即可。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容