java - 在类路径中添加库后找不到 Jetty WebSocket 类

标签 java eclipse websocket jetty

我正在尝试使用 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/

相关文章:

java - 使用 Gradle 或 Maven 时 Eclipse 构建错误?

eclipse - 在 Eclipse + jboss 5.1.0 中获取 "java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet"

java - 运行 chat.xhtml 示例返回 : Info: WebSocket closed

c# - 如何将 x509 证书从客户端发送到服务器 WebSocketSharp C#

c++ - Arduino 不支持使用 websocket 协议(protocol)的大于 65535 个字符的消息?

java - 在 Java 中显示带前导零 (0) 的数字?

JavaFx无法获取相对于场景的节点坐标

java - 算法仅针对 hackerrank 的一个测试用例失败

java - 如何在桌面应用程序中使用 ZeroMQ

java - Eclipse自动构建Android项目很糟糕