我正在尝试使用Jetty使用websocket与远程服务器通信。我正在Eclipse中开发它,但我不能编译任何示例代码。这就是我所做的
我下载了Jetty的最新版本,并在类路径中添加了start.jar。这就是我在样本类中包含的内容
import org.eclipse.jetty.websocket.api.Session;
import org.eclipse.jetty.websocket.api.StatusCode;
import org.eclipse.jetty.websocket.api.annotations.OnWebSocketClose;
还有更多。问题是Eclipse无法解决这些导入。我该怎么办?
从项目中删除start.jar
,这只是一个启动独立Jetty发行版的引导程序jar。
您需要的JAR位于${jetty.dist}/lib/websockets/
目录中。
[joakim@lapetus jetty-distribution-9.0.4.v20130625]$ ls -1 lib/websocket/
websocket-api-9.0.4.v20130625.jar
websocket-client-9.0.4.v20130625.jar
websocket-common-9.0.4.v20130625.jar
websocket-server-9.0.4.v20130625.jar
websocket-servlet-9.0.4.v20130625.jar
所有WebSocket应用程序
始终包含在您的项目中:
lib/websocket/websocket-api-9.0.4.v20130625.jar
WebSocket客户端要求
将以下内容添加到您的项目中:
lib/websocket/websocket-client-9.0.4.v20130625.jar
lib/websocket/websocket-common-9.0.4.v20130625.jar
lib/jetty-io-9.0.4.v20130625.jar
lib/jetty-util-9.0.4.v20130625.jar
WebSocket Servlet要求
如果你正在编写一个WebSocket服务器,它将挂接到你的WAR/WebApp,那么你需要:
websocket-servlet-9.0.4.v20130625.jar
您永远不需要websocket-server-9.0.4.v20130625.jar
,因为它是一个内部/实现特定的JAR,Jetty Server使用它来提供对WebSockets的支持。
请通过客户端API列出的jar必须在类路径中。