Java SpringWebSocket示例-错误-您是否在支持JSR-356的Servlet容器中运行?

Java SpringWebSocket示例-错误-您是否在支持JSR-356的Servlet容器中运行?,java,tomcat,spring-websocket,Java,Tomcat,Spring Websocket,我试图运行给出的Spring 4示例。当我尝试连接到套接字时,它抛出以下异常。根据示例,您需要tomcat 7.0.50,我检查了可执行jar,它具有正确的tomcat版本。任何指针都会有帮助 java.lang.IllegalArgumentException: No 'javax.websocket.server.ServerContainer' ServletContext attribute. Are you running in a Servlet container that s

我试图运行给出的Spring 4示例。当我尝试连接到套接字时,它抛出以下异常。根据示例,您需要tomcat 7.0.50,我检查了可执行jar,它具有正确的tomcat版本。任何指针都会有帮助

java.lang.IllegalArgumentException: No 'javax.websocket.server.ServerContainer'   ServletContext attribute. Are you running in a Servlet container that supports JSR-356?

检查您的可执行jar中是否捆绑了
tomcat7 websocket.jar
websocket api.jar
——也许您只是得到了没有额外websocket位的香草tomcat。

我在另一个用例中得到了相同的错误消息:我停用了自动配置并将
WebSocketConfig
手动添加到配置然后我得到了上面提到的错误消息


解决这个问题很容易:只需将
WebSocketAutoConfiguration
添加到配置中。

thx-Paul。我没有在可执行文件中看到这两个jar。它有tomcat-embed-core-7.0.50.jar、tomcat-embed-jasper-7.0.50.jar、,spring-websocket-4.0.0.RELEASE.jar等。您缺少的类“javax.websocket.server.ServerContainer”存在于websocket-api.jar中,您可以从标准的tomcat下载中获得。我可以使用tomcat7:run解决这个问题,它迫使maven下载正确版本的tomcat。保罗先生,我该怎么做?目前我有xml web套接字配置,并收到此错误。