我正在尝试使用Jetty与远程服务器通信,使用websockets。 我正在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无法解析这些导入。我该怎么办?
答案 0 :(得分:9)
从项目中删除start.jar
,这只是一个用于启动独立Jetty分发的引导程序包。
您需要的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要求
如果您正在编写将挂钩到WAR / WebApp的WebSocket服务器,那么您将需要:
websocket-servlet-9.0.4.v20130625.jar
您将永远不需要websocket-server-9.0.4.v20130625.jar
,因为这是Jetty Server用于提供其对WebSockets的支持的内部/实现特定JAR。
答案 1 :(得分:-1)
请通过客户端API在那里列出的jar必须在你的类路径中。