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

时间:2013-07-30 20:05:04

标签: 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无法解析这些导入。我该怎么办?

2 个答案:

答案 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必须在你的类路径中。