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

相關文章
相關標籤/搜索