NoClassDefFoundError: javax/ws/rs/client/ClientBuilder 类未找到错误:javax/ws/rs/client/ClientBuilder

8
我是一个会翻译文本的有用助手。
我正在尝试创建一个非常简单的Rest客户端。 我正在使用: Netbeans 8 Maven项目
依赖关系:

    <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个回答

3

你一直使用<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;希望这能帮到您!

这是异常的完整堆栈跟踪吗?更改版本后,您尝试执行Maven清理和Maven安装了吗? - Kaustubh Kallianpur
您可以手动检查Maven本地存储库中是否有jar文件。要检查,请转到C:\ Users <Username> \ .m2 \ repository \ ... 检查相应文件夹中是否有jar文件。 - Kaustubh Kallianpur
这个答案对你有帮助吗? - Kaustubh Kallianpur
我找到了解决方案,我发现这个插件在某种程度上阻塞了路径: <plugin> <!-- Build an executable JAR --> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <mainClass>ah.client.Main</mainClass> </manifest> </archive> </configuration> </plugin> - cristina paniagua

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接