因为这个错误我花费了一下午的时间,就是为了在 springboot 中集成websocket 太难的 网上大多数的回答都是测试时报错,我是启动时报错,废话不说了,直接进入主题

  1. 环境情况
    springboot:2.2.13
    acitiviti6
    websocket
    2.报错信息
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'serverEndpointExporter' defined in class path resource [com/ruoyi/common/config/WebSocketConfig.class]: Invocation of init method failed; nested exception is java.lang.IllegalStateException: javax.websocket.server.ServerContainer not available
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1794)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:594)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:516)
 at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:324)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:322)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:897)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551)
 at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)
 at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:747)
 at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:405)
 at org.springframework.boot.SpringApplication.run(SpringApplication.java:315)
 at org.springframework.boot.SpringApplication.run(SpringApplication.java:

从报错信息中 无法获取到什么有用的信息,我就知道这个 ServerEndpointExporter 是有问题的 其他的我也不知道

  1. 解决方法:
    修改maven SpringBoot Web 将tomcat 去除掉
		<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

自此启动成功 真狗血
网上解决此问题的思路
1.因为是springbootTest的问题 需要增加注释 自己百度把
2.包冲突导致的(本文也算是)
3.说是tomcat 和web容器之间的问题 (本文也算是吧)
问题解决 开心

更多推荐

javax.websocket.server.ServerContainer not available 报错