【发布时间】:2014-07-09 15:51:51
【问题描述】:
我正在尝试让 Tomcat 服务器 (7.0.54) 支持 WebSocket 并且很难部署它。我有一个简单的端点:
@ServerEndpoint(value = "/test")
public class TestEndpoint {
为了处理这个端点,我需要包含一个容器(它使用 ServiceLoader 来启动,用端点注释自省所有类等......)。我使用以下内容:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat7-websocket</artifactId>
<version>7.0.47</version>
</dependency>
但是,mvn tomcat7:run 然后无法以:
SEVERE: Parse error in application web.xml file at jndi:/localhost/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/WEB-INF/web.xml; lineNumber: 13; columnNumber: 12; Error at (13, 12) : org.apache.catalina.deploy.WebXml addFilter
如果相反,我将范围指定为system,并将其指向我的本地文件系统:
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat7-websocket</artifactId>
<version>7.0.47</version>
<scope>system</scope>
<systemPath>${somewhere}/tomcat7-websocket-7.0.54.jar</systemPath>
</dependency>
...然后一切正常,但是当然,这不能可靠地部署在实时服务器上。
如何才能正确启动我的 WebSocket 容器?
【问题讨论】:
标签: java maven tomcat websocket tomcat7