java.websocket不存在_java - WebSocket找不到实现类错误 - 堆栈内存溢出

在尝试使用javax.websocket-api-1.1.jar和tyrus-standalone-client-1.9建立WebSocket连接到TDAmeritrade API时,遇到找不到实现类和连接失败的问题。错误包括'Could not find an implementation class.'和'Connection refused: no further information'。问题可能源于库的不兼容或服务器未正确配置。
摘要由CSDN通过智能技术生成

我正计划编写一个流媒体类,我想为其尝试打开websocket连接,但是我无法使我的websocket连接正常工作。 这样做的目的是使TDAmeritrade api流数据起作用。

尝试使用javax.websocket-api-1.1.jar和tyrus-standalone-client-1.9

我应该使用其他的罐子吗?

package socketProg;

import java.net.URI;

import javax.websocket.*;

@ClientEndpoint

public class WSClient {

private static Object waitLock = new Object();

@OnMessage

public void onMessage(String message) {

//the new USD rate arrives from the websocket server side.

System.out.println("Received msg: "+message);

}

private static void wait4TerminateSignal()

{

synchronized(waitLock)

{try {

waitLock.wait();

} catch (InterruptedException e) {

}}}

public static void main(String[] args) {

WebSocketContainer containe

### 回答1: 这个错误提示是因为在你的代码中使用了javax.websocket这个包,但是你的项目中没有引入这个包或者引入的方式不正确。你需要检查一下你的项目配置,确保已经正确引入了javax.websocket这个包。 ### 回答2: 当出现"程序包 javax.websocket 不存在" 的错误提示时,可能是由于以下原因: 1. 未添加 WebSocket API 依赖库 如果你是在使用一个较为简单的 Java IDE,例如Eclipse 或者 IntelliJ IDEA 来编写 Java Web 应用程序,构建项目时很可能没有把 Java EE 的WebSocket API 一同添加到项目中。因此,需要添加 WebSocket API 依赖库并构建项目。 可以从以下 Maven 存储库中下载 WebSocket API 并导入到项目中。这些存储库包含了 Java EE 7 WebSocket API 接口的 implementations 包。 ``` <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>${javax.websocket-api.version}</version> </dependency> ``` 2. 缺少 WebSocket 容器 WebSocket API 需要在的运行时容器中支持,有些 Java 应用服务器例如 Tomcat 和 Jetty 等自带了 WebSocket 容器。但是,如果你使用的是一些非标准的 Java 应用服务器,例如 Glassfish 或者 WAS,WebSocket 容器可能并不会自带,而需要单独安装或者添加服务。 3. javax.websocket 未被正确的引入 如果你的应用程序使用其他程序包或库,这些程序包可能在调用 WebSocket API 时未被正确的引入,因此无法识别 javax.websocket。这时需要检查应用程序中程序包的引用是否被正确的配置,以保证 WebSocket API 被正确的引入。 总之,当出现"程序包 javax.websocket 不存在" 的错误提示时,需要检查是否正确添加了 WebSocket API 依赖库,并确保已经正确的安装了 WebSocket 容器。如果这两点都没有问题,那么需要检查应用程序中程序包的引用是否被正确的配置。 ### 回答3: Java是一门面向对象的编程语言,它的生态系统中有很多库和框架,websocket是其中一个。WebSocket提供了一种在单个TCP连接上进行双向通信的方法。Java中的WebSocketJava API for WebSocket(JSR-356)和Java EE的WebSocket API。 当在Java程序中想要使用WebSocket时,你需要引入WebSocket库或者框架。其中javax.websocket就是Java API for WebSocket的一部分,它提供了WebSocket的基础功能,比如建立连接、发送和接收消息。如果你在使用过程中提示“程序包javax.websocket不存在”,通常是因为项目缺少WebSocket依赖包,或者依赖包没有添加到项目中。你可以通过在你的项目中添加WebSocket相关依赖的方式来解决这个问题。 解决这个问题的步骤如下: 1. 打开你的项目,检查pom.xml文件或者build.gradle文件,确保项目已经引入了WebSocket依赖包。 2. 如果你使用的是maven项目,你需要添加以下依赖: ``` <dependency> <groupId>javax.websocket</groupId> <artifactId>javax.websocket-api</artifactId> <version>1.1</version> </dependency> ``` 3. 如果你使用的是Gradle项目,你需要添加以下依赖: ``` compile('javax.websocket:javax.websocket-api:1.1') ``` 4. 如果你使用的是其他构建工具或者IDE,你需要确保在项目编译时可以WebSocket的依赖包。你可以通过将WebSocket的依赖包直接放入项目目录中,或者将其添加到你的构建工具或者IDE的配置中来实现。 总之,碰到程序包javax.websocket不存在这个问题时,可以通过添加WebSocket相关的依赖包来解决这个问题。您需要检查您的项目,确保已经引入正确的依赖包。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值