1. 程式人生 > >Context initialization failed org.springframework.beans.factory.BeanCreationException

Context initialization failed org.springframework.beans.factory.BeanCreationException

嚴重: Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘webSocketHandlerMapping’ defined in class path resource [org/springframework/web/socket/config/annotation/DelegatingWebSocketConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method ‘webSocketHandlerMapping’ threw exception; nested exception is java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found 
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:599) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1111) 
at … 
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.HandlerMapping]: Factory method ‘webSocketHandlerMapping’ threw exception; nested exception is java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found 
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:189) 
at … 
Caused by: java.lang.IllegalStateException: No suitable default RequestUpgradeStrategy found 
at org.springframework.web.socket.server.support.DefaultHandshakeHandler.initRequestUpgradeStrategy(DefaultHandshakeHandler.java:127) 
at …

出現上述異常,是由於缺少RequestUpgradeStrategy 
對於jetty,需要新增如下依賴

1     <dependency>
2         <groupId>org.eclipse.jetty.websocket</groupId>
3         <artifactId>websocket-server</artifactId>
4         <version>9.3.3.v20150827</version>
5         <scope>provided</
scope> 6 </dependency>

對於tomcat,需要新增如下依賴

    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-websocket</artifactId>
        <version>8.0.23</version>
        <scope>provided</scope>
    </
dependency>

在poem.xml檔案中新增這兩個依賴後成功解決

 

原文:https://blog.csdn.net/manerfan/article/details/48526681 
來源:CSDN