程序请求报错java.lang.NoSuchMethodError

news2024/9/21 0:51:18
[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.coloradmin.cn/o/733544.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Android 短视频直播特效,音视频图像处理 FFmepg OpenGLES OpenCV开发详细内容

1 音视频开发基础 2 Android OpenGL ES开发基础 3 Android FFmpeg OpenGLES 音视频播放器核心开发 4 Android FFmpeg H.264 AAC 封装mp4 5 Android OpenCV 机器学习人脸标定SDK开发实战 6 Android OpenCV 开发实践 7 Android 短视频App FFmpeg OpenGL ES OpenCV人脸特效渲…

python pytorch 纯算法实现前馈神经网络训练(数据集随机生成)

python pytorch 纯算法实现前馈神经网络训练(数据集随机生成) 下面这个代码大家可以学习学习,这个代码难度最大的在于反向传播推导, 博主推了很久,整个过程都是纯算法去实现的,除了几个激活函数&#xff0…

【前端知识】React 基础巩固(十八)——组件化开发(二)

React 基础巩固(十八)——组件化开发(二) 生命周期 生命周期是一个抽象的概念,在生命周期的整个过程中,分成了很多个阶段 比如装载阶段(Mount),组件第一次在 DOM 树中被渲染的过程比如更新过程…

【C语言】你知道浮点数是怎么存储的吗?

前言 🎈大家好,我是何小侠🎈 🍃大家可以叫我小何或者小侠🍃 💐希望能通过写博客加深自己对于学习内容的理解💐 🌸也能帮助更多人理解和学习🌸 积学以储宝,酌…

Debian 11 x64 安装 MySQL 8.0.33

更新 sudo apt update sudo apt install gnupg安装 DEB Package wget -c https://dev.mysql.com/get/mysql-apt-config_0.8.25-1_all.deb sudo dpkg -i mysql-apt-config_0.8.25-1_all.deb具体版本见官方网站:MySQL Community Downloads,这里仅以版本 …

详解什么是新零售和新零售的四种商业模式

前言 自推出新零售概念以来,新零售已成为当前的热门话题。今天我们将进一步了解什么是新零售。 一、什么是新零售? 新零售,英文是New Retailing,即企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商…

VMware虚拟机里的Ubuntu通过主机的代理联网

问题描述:主机win10,通过代理联网。主机里装有VMware的虚拟机Ubuntu,想要通过主机的代理进行上网。 步骤: 1 将虚拟机的网络设置为NAT模式。 2 在win10命令行中输入ipconfig,查询ipv4的局域网地址。(注&…

使用docker安装Nacos,远程连接nacos报错,please check server x.x.x.x ,port 9848 is available

报错: please check server 127.0.0.1 ,port 9848 is available 原因: 当nacos客户端升级为2.x版本后,新增了gRPC的通信方式,新增了两个端口。这两个端口在nacos原先的端口上(默认8848),进行一定偏移量自动生成.。 当客户端升级成2.x版本时&…

[工业互联-20]:常见EtherCAT主站方案:TwinCAT的Windows 解决方案

目录 第1章 TwinCAT简介 第2章 软件架构 第3章 应用程序架构 第1章 TwinCAT简介 TwinCAT是由德国Beckhoff公司开发的一套功能强大的自动化软件平台。 它是一个集成的开发环境,用于实现实时控制、PLC编程、运动控制、HMI(人机界面)设计和…

service 2 暴露服务的 3种 方式

【k8s 系列】k8s 学习十九,service 2 之前我们简单的了解一下 k8s 中 service 的玩法,今天我们来分享一下 service 涉及到的相关细节,我们开始吧 为什么要有 服务 Service? 因为服务可以做到让外部的客户端不用关心服务器的数量…

【二叉树part09】| 669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树

目录 🎈LeetCode669. 修剪二叉搜索树 🎈LeetCode108.将有序数组转换为二叉搜索树 🎈LeetCode538.把二叉搜索树转换为累加树 🎈LeetCode669. 修剪二叉搜索树 链接:669.修剪二叉搜索树 给你二叉搜索树的根节点 root…

使用Go 语言的三个原因

几个星期前,我一个朋友问我:“为什么要关心 Go 语言”? 因为他们知道我热衷于 Go 语言,但他们想知道为什么我认为其他人也应该关心。有三个原因:安全性、生产力和并发性。有些语言可以涵盖一个也有可能是两个方面&…

代码逐行解析!冠军选手解读锂电池生产温度预测赛事方案

Datawhale干货 作者:鱼佬、骆秀韬,Datawhale成员 本实践是数据挖掘类型的比赛,聚焦于工业场景。实践任务本质上为回归任务,其中会涉及到时序预测相关的知识。 本实践可帮助大家: 快速掌握数据挖掘任务基本流程&#x…

【开源-文章迁移利器】MarkDown本地图片转云端存储脚本-支持目录递归查找转换

从一些笔记软件导出markdown文档后,图片都是本地图片,文档数量过多,用typora一一打开上传图片过于繁琐,特开发一个一键迁移文章图片的脚本,方便markdown文档的迁移。 文章目录 大致需求开源地址设计思路脚本介绍快速使…

蓝桥杯专题-真题版含答案-【大衍数列】【圆周率】【分糖果】【等额本金】

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列点击跳转>蓝桥系列 👉关于作者 专注于Android/Unity和各种游…

Java csv文件上传下载中的相关转换

目录 一. 需求二. List<Entity>转List<List<String>>2.1 实体类2.2 转换 三. 上传csv文件转List<Map>3.1 csv文件3.2 前台3.3 实体类3.4 转换3.5 效果 一. 需求 &#x1f914;项目中遇到了两个需求 1.查询数据库&#xff0c;得到List<Entity>这…

快速搭建一个美观且易用的 Django 管理后台 —— django-xadmin

Django-xadmin&#xff08;也称为Xadmin&#xff09;是一个第三方的 Django 应用程序&#xff0c;它提供了一系列工具和模板来快速开发基于 Django 的后台管理界面。使用 Django-xadmin 可以用很少的代码就创建出一个强大的、具备实时查看数据、增、删、改等基本操作的 Django …

leetcode-704.二分查找

leetcode-704.二分查找 文章目录 leetcode-704.二分查找一.题目描述二.第1次代码提交(非二分查找)三.第2次代码提交(非二分查找&#xff0c;std::find和std::distance)四.第3次代码提交(二分查找)五.关于C中int型的奇数除以2 一.题目描述 二.第1次代码提交(非二分查找) class …

Linux 学习记录47(QT篇待完成)

Linux 学习记录47(QT篇) 本文目录 Linux 学习记录47(QT篇)一、将资源文件加载到项目1. 将资源文件放到项目下2. 添加到项目 二、信号与槽机制1. 信号与槽机制概念2. 信号与槽概念 三、四、思维导图练习1. main_page.cpp2. main.cpp3. main_page.h4. login.cpp5. login.h 一、将…

Delphi 11必备指南:使用Git集成Python4Delphi的完整步骤

在Delphi中使用Python有很多好处&#xff0c;可以扩展Delphi的功能并利用Python强大的科学计算和数据分析库。但是&#xff0c;为了将Python集成到Delphi中&#xff0c;我们需要安装Python for Delphi (P4D)组件套件。在这篇博客中&#xff0c;我将介绍如何使用Git安装P4D组件套…