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



我正在尝试使用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必须在类路径中。

最新更新