我正在尝试使用 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 无法解析这些导入。我该怎么办?
最佳答案
从您的项目中删除 start.jar
,它只是用于启动独立 Jetty 分发的 Bootstrap 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
,因为它是 Jetty 服务器用来提供对 WebSocket 的支持的内部/实现特定 JAR。
关于java - 在类路径中添加库后找不到 Jetty WebSocket 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956357/