今天在启动tomcat 遇到这个问题
java.util.ServiceConfigurationError: javax.websocket.ContainerProvider: Provider org.apache.tomcat.websocket.WsContainerProvider not a subtype
在网上查了一下 原来是tomcat 7运行在 linux上 Websocket jar不与标准的Tomcat安装打包在一起
(请参阅https://bugs.launchpad.net/ubuntu/+source/tomcat7/+bug/1326687)
解决办法
1. 换成tomcat8 (本人未试过,网友试过说行的通)
2. 把tomcat/lib 下的tomcat7-websocket.jar 移走
mv /lib/tomcat7-websocket.jar /usr #把lib下的这个jar包移到/usr目录下,(其实随便哪个目录,移走就行)
然后在该项目的pom.xml中添加
<dependency>
<groupId>javax.websocket</groupId>
<artifactId>javax.websocket-api</artifactId>
<version>RELEASE</version>
</dependency>
<dependency>
<groupId>org.glassfish.tyrus.bundles</groupId>
<artifactId>tyrus-standalone-client</artifactId>
<version>1.13.1</version>
</dependency>
导入Tyrus独立客户端
问题解决
本文解决了在Linux环境下使用Tomcat7时遇到的WebSocket问题。通过移除tomcat7-websocket.jar并添加依赖javax.websocket-api及tyrus-standalone-client,成功解决了java.util.ServiceConfigurationError错误。

3665

被折叠的 条评论
为什么被折叠?



