使用maven依赖项获取tomcat websocket api导致异常升级失败

使用maven依赖项获取tomcat websocket api导致异常升级失败,maven,tomcat,websocket,Maven,Tomcat,Websocket,我创建了一个简单的Websocket应用程序,并试图用tomcat 7.0.53版对其进行测试。在构建应用程序时,我使用pom.xml中的以下Maven依赖项获取tomcat websocket api jar文件: <dependency> <groupId>org.apache.tomcat</groupId> <artifactId>tomcat-websocket-api</artifactId> <ve

我创建了一个简单的Websocket应用程序,并试图用tomcat 7.0.53版对其进行测试。在构建应用程序时,我使用pom.xml中的以下Maven依赖项获取tomcat websocket api jar文件:

<dependency>
   <groupId>org.apache.tomcat</groupId>
   <artifactId>tomcat-websocket-api</artifactId>
   <version>7.0.53</version>
</dependency>
我发现,如果我从pom.xml文件中删除对tomcat websocket api的依赖性(如上所示),而是从tomcat安装中手动复制jar文件tomcat-websocket-api-7.0.53.jar,并针对该jar文件构建war,那么我就可以毫无问题地连接到websocket

两个jar文件,一个是与tomcat捆绑的,另一个是由maven下载的,大小相同,但它们一定有所不同。我更愿意从maven repo下载jar文件,但我不确定为什么它不起作用。如有任何建议,我们将不胜感激

May 13, 2014 12:29:40 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [default] in context with path [/WebSocketRestApp] threw exception [Upgrade failed] with root cause
javax.servlet.ServletException: Upgrade failed
        at org.apache.tomcat.websocket.server.UpgradeUtil.doUpgrade(UpgradeUtil.java:190)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
        at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:313)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)