Error creating bean with name 'serverEndpointExporter' defined in class path

1、springboot配置websocket后打war包出错

当前项目是springboot项目,配置了websocket后打war包过程当中出现此类错误,出现这个问题的缘由是由于java

出现这个错的缘由是在部署项目的时候,项目中含有websocket的@ServerEndpoint注解的时候,若是项目是springboot项目,
去除内置tomcat的时候会把websocket的包也给删除掉,因此须要手动加上websocket的包,而后再打war包

解决办法web

<!--去除内嵌tomcat-->
       <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
  
        <!--websocket依赖包-->
        <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-websocket</artifactId>
            <version>8.5.23</version>
        </dependency>

若是打包还出错的话,就把 pom里的test依赖删掉,而后把 测试类文件 删除spring

<dependency> 
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
	 </dependency>

 

2、war包放在tomcat下运行出错

打成war包后放在tomcat下运行。tomcat日志文件报错  java.lang.IllegalStateException: Failed to register @ServerEndpoint classapache

//@Configuration
//public class WebSocketConfig {
//
//    @Bean
//    public ServerEndpointExporter serverEndpointExporter() {
//        return new ServerEndpointExporter();
//    }
//
//}


若是打包无需进行此步配置,不然会产生java.lang.IllegalStateException:没法注册@ServerEndpoint类的错误,把 WebSocketConfig.java 注释后从新打包 tomcat

相关文章
相关标签/搜索