Java/Spring Framework

org.apache.tomcat.websocket.WsWebSocketContainer cannot be cast to io.undertow.websockets.jsr.ServerWebSocketContainer

미래의 개발왕 2016. 7. 25. 23:02
728x90
반응형

스프링부트책으로 따라하던 중 REST API 서버 실행시 에러가 났다.


Exception in thread "main" org.springframework.context.ApplicationContextException: Unable to start embedded container; nested exception is java.lang.ClassCastException: org.apache.tomcat.websocket.WsWebSocketContainer cannot be cast to io.undertow.websockets.jsr.ServerWebSocketContainer


구글링을 해보니 2가지 정도 방법이 있다.


1) pom.xml에서 undertow 제거

기본 maven 프로젝트 생성시 추가된 dependency같다.

아래의 의존성을 삭제하면 잘 구동된다.

  
    
    	org.springframework.boot
    	spring-boot-starter-undertow
    


2) spring-boot-starter-web에 exclusions 추가

spring-boot-starter-web에 추가로 아래의 빨간 파란 부분을 추가하면 된다

  
 
   org.springframework.boot
   spring-boot-starter-web
   
     
       org.apache.tomcat.embed
       tomcat-embed-websocket
     
   
 


(출처1 : http://stackoverflow.com/questions/34510605/org-apache-tomcat-websocket-wswebsocketcontainer-cannot-be-cast-to-io-undertow-w)

(출처2 : http://stackoverflow.com/questions/25792121/spring-boot-websockets-in-wildfly)

반응형