NoClassDefFoundError:javax / ws / rs / client / ClientBuilder

时间:2017-09-22 09:58:53

标签: rest client javax

我正在尝试创建一个非常简单的Rest Client。 我正在使用: Netbeans 8 maven项目

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>

和代码:

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);
}
}

但我总是得到同样的错误:

  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

我不知道我能做什么......

1 个答案:

答案 0 :(得分:1)

您使用的具体原因是什么? <version>2.1-m01</version>
通常建议使用稳定的Final Builds。尝试使用此版本。

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

如果您想使用-m01版本,可以Maven cleanMaven install。如果未正确下载相应的jar文件,也会出现此错误。

还要确保输入正确的班级 import javax.ws.rs.client.ClientBuilder;

希望这有帮助!