Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

I need to write websocket client. I started following this tutorial: https://github.com/eugenp/tutorials/blob/master/spring-boot/src/main/java/org/baeldung/websocket

and after run StomClient I received:

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

at WebSocketTester.testConnection(WebSocketTester.java:16)

Caused by: 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 java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 23 more

My pom only have this dependencies:

    <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>

Client and session handler are copied from github under attached link. Exception is thrown from this line WebSocketClient client = new StandardWebSocketClient(); in client class

like image 968
kris82pl Avatar asked Jan 17 '18 20:01

kris82pl


3 Answers

Try adding the following dependency. It worked for me.

<dependency>
     <groupId>org.glassfish.tyrus.bundles</groupId>
     <artifactId>tyrus-standalone-client</artifactId>
     <version>1.9</version>
</dependency>
like image 174
user9288971 Avatar answered Nov 15 '22 03:11

user9288971


The Spring Boot Starter for WebSockets has the dependencies you need:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-websocket</artifactId>
</dependency>
like image 29
Jan Nielsen Avatar answered Nov 15 '22 04:11

Jan Nielsen


Was getting same error. Resolved it by adding below dependency.

    <dependency>
        <groupId>javax.websocket</groupId>
        <artifactId>javax.websocket-api</artifactId>
        <version>1.1</version>
    </dependency>
like image 3
NewBee Avatar answered Nov 15 '22 05:11

NewBee