【问题标题】:HTTP Status 500 - Filter execution threw an exception. NoClassDefFoundError : UpgradeUtilHTTP 状态 500 - 过滤器执行引发异常。 NoClassDefFoundError:UpgradeUtil
【发布时间】:2015-01-21 07:09:00
【问题描述】:

我们一直在尝试使用 Tomcat 和 Websockets 构建一个简单的 Web 应用程序。该系统在本地主机上运行。当我们尝试在服务器(Debian Linux,运行 Tomcat 7.0.52)上部署 Web 应用程序时,问题就开始了。该应用程序在 localhost(Windows 7,运行 Tomcat 7.0.52)上运行良好。到目前为止,针对错误 500 建议的方法主要是检查 tomcat 的 lib 文件夹中的 jar。 (奇怪的是,这似乎不是问题,因为所有 jar 似乎都存在于 lib 文件夹中。我什至提取了 unjarred 的 wesocket jar 并检查了 UpgradeUtil 类是否存在。确实存在!)。

从浏览器访问该站点时,我们收到此错误。

HTTP 状态 500 - 过滤器执行引发异常 类型异常报告
消息过滤器执行抛出异常

描述服务器遇到了一个内部错误,导致它无法完成这个请求。

异常

javax.servlet.ServletException:过滤器执行引发异常 根本原因

java.lang.NoClassDefFoundError: 无法初始化类 org.apache.tomcat.websocket.server.UpgradeUtil org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:50) note Apache Tomcat/7.0.52 日志中提供了根本原因的完整堆栈跟踪。

Apache Tomcat/7.0.52

而且这个错误在错误日志中。

2014 年 4 月 3 日晚上 9:51:53 org.apache.catalina.core.StandardWrapperValve 调用 严重:servlet [default] 的 Servlet.service() 在路径 [/CrossGames] 的上下文中抛出异常 [Filter execution throw an exception] 有根本原因 java.lang.NoClassDefFoundError:无法初始化类 org.apache.tomcat.websocket.server.UpgradeUtil 在 org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:50) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 在 org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 在 org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 在 org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:193) 在 org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) 在 org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 在 java.lang.Thread.run(Thread.java:732)

我们尝试过

  1. 检查 jars(tomcat-websocket.jar 和 websocket-api.jar 存在)
  2. 检查版本。安装的 tomcat 版本与我们系统上的相同。
  3. 重新安装 tomcat

您的见解和观点将对我们有很大帮助。谢谢!

【问题讨论】:

    标签: java websocket tomcat7


    【解决方案1】:

    通过重新安装 tomcat 解决了这个问题。恐怕这对其他人有任何帮助。

    【讨论】:

      【解决方案2】:

      我得到了解决方案,我只是重新启动 Servlet (Online tomcat)

      【讨论】:

        【解决方案3】:

        org.apache.tomcat.websocket.server.UpgradeUtil 可能存在,但异常意味着在其初始化过程中出现问题。

        检查这些类是否存在:

        org.apache.tomcat.util.codec.binary.Base64; org.apache.tomcat.websocket.Constants; org.apache.tomcat.websocket.WsHandshakeResponse; org.apache.tomcat.websocket.pojo.PojoEndpointServer;

        【讨论】:

        • 我检查了这些课程。他们都在场。仍在努力寻找解决方案..
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2017-11-28
        • 2014-10-26
        • 2015-08-23
        • 2012-11-18
        • 2015-09-26
        • 1970-01-01
        • 2013-01-25
        相关资源
        最近更新 更多