首页 > 编程语言 >奇诡的java.lang.NoClassDefFoundError错误

奇诡的java.lang.NoClassDefFoundError错误

时间:2023-09-18 14:33:09浏览次数:52  
标签:lang core catalina java invoke NoClassDefFoundError apache org

13:41:05.570 [http-nio-8888-exec-40] ERROR o.a.c.c.C.[.[.[.[dispatcherServlet] - [log,175] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Filter execution threw an exception] with root cause
java.lang.NoClassDefFoundError: com/qijin/common/filter/XssHttpServletRequestWrapper
    at com.qijin.common.filter.XssFilter.doFilter(XssFilter.java:54)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1743)
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:750)

现象:

  开发环境和测试环境都没有报错,生产环境报错了。奇怪的是不是所有的接口都会报这个错,只是部分接口报这个错。

搜索到这篇文章https://cloud.tencent.com/developer/article/1600326,得到启示 kill 掉root 用户启动的服务,用部署用户启动后问题解决

标签:lang,core,catalina,java,invoke,NoClassDefFoundError,apache,org
From: https://www.cnblogs.com/Alex-Zeng/p/17711797.html

相关文章

  • java 实现大文件上传
    Java实现大文件上传教程一、流程概述在Java中实现大文件上传主要分为以下几个步骤:步骤 操作1.客户端选择文件 用户在界面上选择要上传的大文件2.分片上传 将大文件分割成小文件块,逐个上传到服务器3.服务器合并文件块 服务器接收到上传的文件块后,将其合并成完整的大文件4.完成......
  • 【直接收藏】前端JavaScript面试100问(上)
    1、解释一下什么是闭包?闭包:就是能够读取外层函数内部变量的函数。闭包需要满足三个条件:访问所在作用域;函数嵌套;在所在作用域外被调用。优点:可以重复使用变量,并且不会造成变量污染。缺点:会引起内存泄漏使用闭包的注意点:由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,......
  • 无涯教程-JavaScript - LOG函数
    描述LOG函数将数字的对数返回您指定的基数。语法LOG(number,[base])争论Argument描述Required/OptionalNumberThepositiverealnumberforwhichyouwantthelogarithm.RequiredBaseThebaseofthelogarithm.Ifbaseisomitted,itisassumedtobe10.......
  • java 发邮件(javax.mail)
    packageMailSendPkg;/*importext.leetcode.easy.Seven;*/importjavax.mail.*;importjavax.mail.internet.*;importjava.util.*;importjavax.activation.*;publicclassMailSender{privateStringhost="";//smtp服务器......
  • Java(day17):Java 的循环退出语句 break、continue
    在Java中,循环是一种重要的控制流结构,它允许程序重复执行某段代码,直到满足特定的条件为止。但在某些情况下,我们可能需要在循环中提前退出或跳过某些迭代。这时我们可以使用Java中的两个循环控制语句:break和continue。break语句break语句用于完全退出当前所在的循环,不再执行循环中......
  • 基于javaweb远程教育网站开发与实现-计算机毕业设计源码+LW文档
    一、课题简介本课题将设计并实现一个基于JAVAWEB远程教育网站,根据课题的需求制定技术开发方案,可分别实现管理员与普通用户的注册、登录功能,可以实现客户端C++编程语言课程视频选取播放、学习进度记录、问答咨询论坛、在线测试等功能,实现服务端相关数据表的增删改查功能以及学生注......
  • java获取前一天日期
     java获取前一天日期 importjava.util.Calendar;publicclassMain{publicstaticvoidmain(String[]args){//获取今天的日期Calendartoday=Calendar.getInstance();//将今天的日期设置为前一天Calendaryesterday=Calendar.getInstan......
  • java大文件上传,大文件下载解决方案
    一.大文件上传解决方案:普通的Servlet文件上传:使用JavaServlet技术,通过表单提交文件,然后在服务器端使用流将文件写入磁盘。这适用于小文件,但不太适合大文件,因为需要将整个文件加载到内存中。ApacheCommonsFileUpload:这是一个常用的开源库,用于处理文件上传。它支持流式处理文......
  • 全网最详细Java-JUC
    Java-JUC⓪基础❶进程&线程进程:指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间。线程:比进程更小的执行单位,一个进程可以启动多个线程,每条线程并行执行不同的任务。❷并行&并发并行(Parallel):在同一时刻,有多个指令在多个CPU上同时执行。并发(Concurrent):在......
  • JAVA从小白到微服务学习路线
    JAVA基础教程开发环境搭建JAVA基础语法数据类型流程控制数组面向对象方法重载封装继承多态抽象类接口枚举常用类泛型集合泛型注解异常处理多线程IO流反射StreamAPILambda表达式计算机基础数据结构与算法数据结构与算法基础(青岛大学-王卓)数......