原工程是一个基于websocket的maven工程(源工程:http://www.cnblogs.com/xdp-gacl/p/5193279.html),把工程导入eclipse后报错。
解决方法如下:
1.将webapp下的web.xml文件
替换为:
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Archetype Created Web Application</display-name>
</web-app>
2.找到文件.settings\org.eclipse.wst.common.project.facet.core.xml(可以直接从文件夹改,也可以从Navigator改),将 版本改成为3.0,
即改为:<installed facet="jst.web" version="3.0"/>
3.Problems中一般的warning右键选Quick Fix,再按提示确定就OK;然后,右键项目->Maven->update Project
4.报错如下:
JAX-RS (REST Web Services) 2.0 can not be installed : One or more constraints have not been satisfied.
JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer.
这时候,在pom.xml文件的<build>页签之间加:
<build>
<finalName>JavaWebSocket</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
改完后右键项目->Maven->update Project,反正我是每改一项都update一下。前面几项改完就没有报错了。
(感谢原博主:http://www.cnblogs.com/jebeljebel/p/4421098.html)
5.运行程序时浏览器报错:
找错找了很久,最后发现是路径问题,将url改为:
websocket = new WebSocket("ws://localhost:8080/JavaWebSocket/websocket");
即可。
最终效果: