记一次NoClassDeffoundEror问题解决过程

背景:在对某台计算服务器进行代码修改后,发现es查询报错,抛出异常如下:

 思路:

 1.jar包冲突

      查询了对应jar的pom文件,发现只有一个es的版本jar包,不存在冲突,百思不得其解。

2.本地环境问题

     清理idea的缓存,发行问题仍然存在

最后翻阅资料,打了断点追踪异常抛出的地方,突然发现有抛出以下异常:

org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: org.apache.logging.log4j.util.LoaderUtil.getClassLoaders()[Ljava/lang/ClassLoader;

很明显log4j的jar包冲突了,然后去解决了log4j的冲突jar包,问题修复。

结论:在初始加载 SearchSourceBuilder 时,会先加载对应的类,而类在进行加载时会初始化静态变量,就包含了Logger的初始化,因为jar包冲突导致初始化失败,所以在后续执行对应的查询方法,初始化SearchSourceBuilder 时就会报错。


__EOF__

本文作者Jun10ng
本文链接https://www.cnblogs.com/wangzun/p/18356422.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   Johnson_wang  阅读(23)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示