SpringBoot 配置 Websocket 运行到Tomcat上出现的问题
文章目录
参考该链接写了个小聊天室, 本地运行没问题, 放到服务器上就出错了. 记录一下问题.
SpringBoot项目打包的时候, 会出现测试不通过的问题
出现该问题是因为Test没有相关容器环境导致的.
解决
- Maven命令中跳过test
- 把SpringBootTest注解给注释掉
- 在SpringBootTest注解上加入 webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
把war包放入Tomcat运行后报javax.websocket.server.ServerContainer not available 错误
发现是SpringBoot中配置的 ServerEndpointExporter 中引入了这个jar包, 然后Tomcat里可能和这个有冲突.
解决
把配置的Bean : ServerEndpointExporter 给注释掉
访问页面后404问题
404?路径错了?
这个问题花了很长时间才解决,我这里是因为nginx的原因.
解决
- 查看路径是否是正确的.
- 查看是否有拦截器等配置阻止了请求
- 是否配置了 nginx转发 ,我这里是因为 nginx 的原因所以访问不了.
总结
不怕问题, 就怕没有找到关键的点. 开始没有往 nginx 上面想, 还好后来想到了然后做了尝试.
如果你发现哪里有问题, 请评论批评指正, 非常感谢.😃