启动Spring Boot应用程序时出现ClassCastException

时间:2016-01-12 14:00:55

标签: java spring spring-mvc spring-boot

在启动Spring启动应用程序时看到一个神秘的ClassCastException。 我最近开始看到这个问题而没有任何配置的任何变化。 我们如何调试此问题?

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
at io.undertow.websockets.jsr.Bootstrap.handleDeployment(Bootstrap.java:62) ~[undertow-websockets-jsr-1.3.5.Final.jar:1.3.5.Final]
at io.undertow.servlet.core.DeploymentManagerImpl.handleExtensions(DeploymentManagerImpl.java:246) ~[undertow-servlet-1.3.5.Final.jar:1.3.5.Final]

的信息: 这是build info

1 个答案:

答案 0 :(得分:6)

您不需要此依赖项。

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

如果您打算使用tomcat服务器,则不需要任何tomcat依赖项,因为弹出启动时默认容器为 Tomcat

  
<dependency>
            <groupId>org.apache.tomcat</groupId>
            <artifactId>tomcat-jsp-api</artifactId>
            <scope>provided</scope>
    </dependency>
    <dependency>
            <groupId>org.apache.tomcat.embed</groupId>
            <artifactId>tomcat-embed-jasper</artifactId>
            <scope>provided</scope>
    </dependency>
  

参考SpringBoot EmbeddedContainers