tomcat - ConcurrentMessageDigest 类未找到异常

标签 tomcat spring-websocket

我通过扩展 TextWebSocketHandler 和 HttpSessionHandshakeInterceptor 类来使用 spring websocket。使用下载的 tomcat(版本 7.0.55)使用 websocket 没有问题。但是在 ubuntu(从 apt-get 安装)中使用 tomcat 作为服务(版本 7.0.52),我在服务器启动期间遇到了以下问题。

ERROR DispatcherServlet:492 - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0': Cannot resolve reference to bean ......

经过一些搜索,发现我必须使用 tomcat-embed-websocket.jar 并下载 tomcat-embed-websocket-7.0.68.jar并复制到项目 lib 文件夹。服务器启动成功。但是在尝试建立 websocket 连接时出现了以下问题。它说 Caused by: java.lang.ClassNotFoundException: org.apache.tomcat.util.security.ConcurrentMessageDigest

nested exception is java.lang.NoClassDefFoundError: org/apache/tomcat/util/security/ConcurrentMessageDigest at org.springframework.web.socket.server.support.WebSocketHttpRequestHandler.handleRequest...

找不到解决方案。请帮忙。

最佳答案

看起来您的 tomcat7 实例的版本确实低于您使用的库 (tomcat-embed-websocket-7.0.68.jar)。

尝试下载完全相同版本的tomcat: http://repo1.maven.org/maven2/org/apache/tomcat/tomcat/7.0.68/

关于tomcat - ConcurrentMessageDigest 类未找到异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37268567/

相关文章:

java - 在 tomcat 5.5 上部署应用程序时出现 struts 错误

java - 在没有 Spring Boot 或 Maven/Gradle 的情况下编写 Spring Websocket 项目

java - 未指定子协议(protocol)时如何拒绝 WebSocket 连接

java - 在spring boot websocket中向特定用户发送通知

java - 使用 Spring MVC RequestMappingHandlerMapping 和 Spring Websocket 的 ServletWebSocketHandlerRegistry 处理相同的 URL

tomcat - 在运行时重新加载 tomcat 日志记录?

tomcat - 使用 TeamCity 的 Tomcat 托管其他应用程序?

java - 与 Jasypt 和 SHA-256 一起使用的 Tomcat 领域

java - Spring WebSocket - Controller 发送消息后丢失

spring - 为什么我得到 "HTTP Status 404 - Servlet <servlet name> is not available"