程序请求报错java.lang.NoSuchMethodError

[23-7-3 9:09:19:069 CST] 00000017 ServletWrappe E com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E:应用程序 east5_20230629_war 中 servlet XXX 的某一服务方法创建了未捕获到的异常。
创建的异常:org.springframework.web.util.NestedServletException:Handler processing failed; nested exception is java.lang.NoSuchMethodError: XXX/XXX/subsystem/s/AuditLogService.getAuditLogList(IILjava/util/Map;)Ljava/util/List; 
at org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1275) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:951)at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951)

 报错信息如上图

问题原因:报错原因找不到这个方法:AuditLogService.getAuditLogList(IILjava/util/Map;)

AuditLogController在A模块

AuditLogService在B模块

测试人员打包A模块的时候未选择对应版本的B模块,选择了高版本的B模块,但是发布版本使用的是低版本的B模块

匹配版本:

A模块 -> AuditLogController.getAuditLogList(int start,int limit,HashMap map);

B模块 -> AuditLogService.getAuditLogList(int start,int limit,HashMap map);

非匹配版本:

A模块 -> AuditLogController.getAuditLogList(int start,int limit,HashMap map);

B模块 -> AuditLogService.getAuditLogList(int start,int limit,Map map);

原因:非匹配版本打包 AuditLogController.getAuditLogList(int start,int limit,HashMap map);

查看非匹配版本A模块调用时HashMap有强转Map的动作 如下图


记录当时排查了如下方面

  1. 清除was缓存
  2. jdk打包版本和现场was-jdk版本比对 ->都是1.6
  3. 部署是否存在多个版本B.jar
  4. 清除OSGi类缓存、清除JVM类缓存
  5. XXX的war里面是否存在class文件
  6. 清除缓存
  7. 程序包版本匹配问题
  8. class文件反编译查看( ⚠️注意不要使用idea看class文件,要用专门的工具看, idea看class会没有强转的内容; 如luyten

ps:8很重要,花时间买来的教训

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/14007.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot项目出现Failed to configure a DataSource错误时解决方法

若在运行SpringBoot项目时,出现如下错误: Description:Failed to configure a DataSource: url attribute is not specified and no embedded datasource could be configured.Reason: Failed to determine a suitable driver classAction:Consider the…

Java-API简析_java.net.InetAddress类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131590559 出自【进步*于辰的博客】 因为我发现目前,我对Java-API的学习意识比较薄弱…

Pandas+Pyecharts | 双十一美妆销售数据分析可视化

文章目录 🏳️‍🌈 1. 导入模块🏳️‍🌈 2. Pandas数据处理2.1 读取数据2.2 数据信息2.3 筛选有销量的数据 🏳️‍🌈 3. Pyecharts数据可视化3.1 双十一前后几天美妆订单数量3.2 双十一前后几天美妆销量3.3…

go数据结构之slice与map

1. 切片 1. 切片结构定义 type slice struct {array unsafe.Pointerlen intcap int }array:引用的底层数组,动态数组,可以修改 如果多个切片的array指针指向同一个动态数组,则它们都可以对底层这个动态数组元素进行修改。 len:&#xf…

简要介绍 | 两阶段点云目标检测:理论与实践

注1:本文系“简要介绍”系列之一,仅从概念上对两阶段点云目标检测进行非常简要的介绍,不适合用于深入和详细的了解。 两阶段点云目标检测:理论与实践 在这篇博客中,我们将探索两阶段点云目标检测的理论基础和实际应用…

mac与pd虚拟机之间不能粘贴文字或粘贴文件

首先确保共享打开: 然后检查虚拟机的Parallels Tools是否正常 一个简单的判断方式就是,退出虚拟机全屏之后,如果能够正常进入融合模式,那么Parallels Tools可用,否则就要排查问题 检查Parallels Tools是否随系统正常启…

基于微信小程序学校部门年终绩效考核自动评分系统(源码+文档+数据库+PPT)

基于微信小程序的部门年终绩效考核系统,为加强学校运营队伍建设提高学校管理力,合理评价教师及部门年度工作计划完成情况,促进整体绩效改进,鼓励管理团队注重对下属进行帮助、提升,促进团队扩张和发展,特制…

MFC学习日记(二)——VS2012应用程序工程中文件的组成结构

上一篇我们用应用程序向导生成框架程序后,我们可以打开工程所在的文件夹看到以下以解决方案命名的文件夹,此文件夹中包含了几个文件和一个以工程名命名的子文件夹,这个子文件夹中又包含了若干个文件和一个res文件夹,创建工程时的选…

Linux性能优化实践——平均负载

平均负载(Load Average) 当我们输入uptime命令时, 这里有几个参数,解释如下 0:54 :当前时间;up 50 mins:系统运行时间;2 users:正在登录用户数;load avera…

UDP客户端和服务器

UDP客户端,也就是首先主动发送数据的一方,也就是发起服务请求的一方。 UDP服务器,也就是首先等待接收数据,并对接收的数据进行处理,返回计算结果的一方,也就是提供服务的一方。 在下面实验中使用到的函数 …

mysql单表查询,排序,分组查询,运算符

CREATE TABLE emp (empno int(4) NOT NULL, --员工编号ename varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,--员工名字job varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,--员工工作mgr int(4) NULL DEFAULT NU…

【CSS】悬浮动画

文章目录 效果展示代码实现 效果展示 代码实现 <!DOCTYPE html> <html><head><meta charset"utf-8" /><title>一颗不甘坠落的流星</title></head><style type"text/css">.bth {/* 添加背景颜色 */backgr…