Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

NoClassDefFoundError: javax/ws/rs/client/ClientBuilder

Tags:

rest

client

javax

I'm trying to creat a very simple Rest Client. I,m using: Netbeans 8 maven project

dependecies:

    <dependencies>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>javax.ws.rs-api</artifactId>
            <version>2.1-m01</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.jersey.core</groupId>
            <artifactId>jersey-client</artifactId>
            <version>2.24.1</version>
        </dependency>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-client</artifactId>
            <version>3.0.16.Final</version>
        </dependency>
    </dependencies>

and the code:

public class Client_con {

public static final String BASE_URI = "http://localhost:8000/test";
public static final String PATH_NAME = "/h";
public static void main (String [] args){

   Client client = ClientBuilder.newClient();

    //WS text get
    WebTarget target = client.target(BASE_URI).path(PATH_NAME);
    String res = target.request().get().readEntity(String.class);
    System.out.println(res);
}
}

But I always obtain the same error:

  Exception in thread "main" java.lang.NoClassDefFoundError: 
   javax/ws/rs/client/ClientBuilder
      at ah.consumer.Client_con.main(Client_con.java:38)
  Caused by: java.lang.ClassNotFoundException: 
    javax.ws.rs.client.ClientBuilder
       at java.net.URLClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
       at java.lang.ClassLoader.loadClass(Unknown Source)
       ... 1 more

I don't know what I can do...

like image 559
cristina paniagua Avatar asked Sep 22 '17 09:09

cristina paniagua


1 Answers

is there a specific reason you have been using
<version>2.1-m01</version>
It is usually recommended to use Final Builds which are stable. Try using this version.

<dependency>
    <groupId>javax.ws.rs</groupId>
    <artifactId>javax.ws.rs-api</artifactId>
    <version>2.1</version>
</dependency>

If you want to use the -m01 Version, You can Maven clean and Maven install. This error can also come up, if the respective jar file is not downloaded properly.

also make sure you are importing the right Class.
import javax.ws.rs.client.ClientBuilder;

Hope this helps!

like image 70
Kaustubh Kallianpur Avatar answered Nov 17 '22 08:11

Kaustubh Kallianpur