3

我正在尝试使用 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 无法解析这些导入。我应该怎么办?

4

2 回答 2

9

从您的项目中删除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 要求

如果您正在编写一个将挂钩到您的 WAR/WebApp 的 WebSocket 服务器,那么您将需要:

  • websocket-servlet-9.0.4.v20130625.jar

您永远不需要websocket-server-9.0.4.v20130625.jar,因为这是 Jetty 服务器用来提供对 WebSockets 支持的内部/实现特定的 JAR。

于 2013-07-31T19:31:00.340 回答
-1

请通过客户端API列出的 jar 必须在您的类路径中。

于 2013-07-30T20:07:53.380 回答