java.lang.NoClassDefFoundError:来自StandardWebsocketClient的javax / websocket / ClientEndpointConfig $ Configurator

时间:2018-01-17 20:20:37

标签: java spring websocket

我需要编写websocket客户端。 我开始学习本教程:https://github.com/eugenp/tutorials/blob/master/spring-boot/src/main/java/org/baeldung/websocket

运行StomClient后我收到了:

    java.lang.NoClassDefFoundError: javax/websocket/ClientEndpointConfig$Configurator
     

at WebSocketTester.testConnection(WebSocketTester.java:16)

     

引起:java.lang.ClassNotFoundException:   javax.websocket.ClientEndpointConfig $ Configurator at   java.net.URLClassLoader.findClass(URLClassLoader.java:381)at   java.lang.ClassLoader.loadClass(ClassLoader.java:424)at   sun.misc.Launcher $ AppClassLoader.loadClass(Launcher.java:335)at at   java.lang.ClassLoader.loadClass(ClassLoader.java:357)... 23更多

我的pom只有这种依赖关系:

    <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-websocket</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-messaging</artifactId>
        <version>5.0.2.RELEASE</version>
    </dependency>

客户端和会话处理程序从附加链接下的github复制。 从客户端类

中的这一行WebSocketClient client = new StandardWebSocketClient();抛出异常

3 个答案:

答案 0 :(得分:5)

尝试添加以下依赖项。它对我有用。

<dependency>
     <groupId>org.glassfish.tyrus.bundles</groupId>
     <artifactId>tyrus-standalone-client</artifactId>
     <version>1.9</version>
</dependency>

答案 1 :(得分:1)

用于WebSockets的Spring Boot Starter具有您需要的依赖项:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>

答案 2 :(得分:1)

出现相同的错误。通过添加以下依赖关系来解决它。

    <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-api</artifactId>
        <version>1.1</version>
    </dependency>