Caused by: java.lang.ClassCastException: 
io.undertow.websockets.jsr.ServerWebSocketContainer cannot be cast to org.apache.tomcat.websocket.server.WsServerContainer
at org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy.getContainer(TomcatRequestUpgradeStrategy.java:84)
at org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy.getContainer(TomcatRequestUpgradeStrategy.java:47)
at org.springframework.web.socket.server.standard.AbstractStandardUpgradeStrategy.getSupportedExtensions(AbstractStandardUpgradeStrategy.java:88)
at org.springframework.web.socket.server.support.AbstractHandshakeHandler.doHandshake(AbstractHandshakeHandler.java:272)
at org.springframework.web.socket.server.support.WebSocketHttpRequestHandler.handleRequest(WebSocketHttpRequestHandler.java:166)
... 56 common frames omitted

问题产生原因是:pom引入的依赖包undertow与websocket依赖包中的tomcat冲突了导致,如下:

<!--undertow-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
<!--websocket依赖包中本身也依赖tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

解决方案:

        <!--websocket-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-websocket</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>

最新文章

  1. GreenPlum高效去除表重复数据
  2. 《UML大战需求分析》阅读随笔(四)
  3. 更改python的编码问题:UnicodeDecodeError: &#39;ascii&#39; codec can&#39;t decode byte 0xe6 in position 56: ordinal not in range(128)
  4. U盘安装CentOS7的最终解决方案
  5. MVC 5.0(or5.0↓) Ajax.BeginForm 异步上传附件问题,答案是不能的!
  6. Timus 1446. Sorting Hat 分类问题
  7. java 常量池
  8. oracle包概述(一)【weber出品】
  9. ==、equals、hashCode区别?
  10. Ext3和Ext4文件系统区别
  11. libevent中evmap实现(哈希表)
  12. AQS
  13. ECharts在柱状图的柱子上方显示数量的方法
  14. python添加、修改、删除、访问类对象属性的2种方法
  15. AtCoder Beginner Contest 044 C - 高橋君とカード / Tak and Cards
  16. Flask学习【第8篇】:flask-session组件
  17. sip (gb28181)信令交互-视频点播与回播
  18. CDOJ 1402 三角形棋盘上的博弈游戏 状压DP
  19. Appium中长按按钮操作
  20. 20145314郑凯杰《信息安全系统设计基础》第9周学习总结 PART B

热门文章

  1. javascript学习-基本类型
  2. Apache Kylin学习资料
  3. Rsync使用方法
  4. 初步了解,vue的转发机制(proxyTable)
  5. Win7 指定以某个用户运行某个程式
  6. 系统管理--配置Gitlab
  7. Jenkins 配置git
  8. 王之泰201771010131《面向对象程序设计(java)》第十三周学习总结
  9. JS高程关于ajax的学习笔记
  10. 使用Travis CI自动部署博客到github pages和coding pages