java - Restful 网络服务 - NoClassDefFoundError : org/glassfish/jersey/ExtendedConfig

标签 java web-services rest jersey jax-rs

所以我在 this thread 中创建了网络服务最后我设法解决了问题。现在我正在尝试使用此 Web 服务。

我在 Netbeans 上创建了一个新的 Web 项目,并且使用的是 Apache Tomcat。这是使用网络服务的代码。我已经完成了一些教程来生成此代码。

package com.client;

import java.net.URI;

import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriBuilder;

import org.glassfish.jersey.client.ClientConfig;

public class HelloClient {


  public void consumeRest(){

    ClientConfig config = new ClientConfig();

    Client client = ClientBuilder.newClient(config);

    WebTarget target = client.target(getBaseURI());

    System.out.println("response");

    System.out.println(target.path("hello").path("world").request()

    .accept(MediaType.APPLICATION_JSON).get(Response.class)

    .toString());

    }


  private URI getBaseURI() {

    return UriBuilder.fromUri("http://localhost:8084/restful_example").build();

  }

} 

我创建了一个主类来调用 consume 方法。当我运行它时,我得到了这个异常:

Exception in thread "main" java.lang.NoClassDefFoundError: org/glassfish/jersey/ExtendedConfig
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.client.HelloClient.consumeRest(HelloClient.java:29)
    at com.client.main.main(main.java:16)
Caused by: java.lang.ClassNotFoundException: org.glassfish.jersey.ExtendedConfig
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 14 more
Java Result: 1

我想这是一个库问题,但我无法解决。仅使用 JAX-RS 2.0 是不够的,因此我还使用了 Jersey 库。

这是怎么回事?这是使用此 Web 服务的正确方法吗?我看过其他一些版本,但不确定使用哪个版本。

最佳答案

似乎您的类路径中缺少 jersey-common jar

maven上的jar可以在下面url下载: - http://mvnrepository.com/artifact/org.glassfish.jersey.core/jersey-common

关于java - Restful 网络服务 - NoClassDefFoundError : org/glassfish/jersey/ExtendedConfig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30304153/

相关文章:

rest - 如何配置 xe :viewFileItemService on an XPage to filter the data in a categorized view?

c# - 如何在 C# 中使用 REST,包括 PUT、POST 和 DELETE?

java - apache.commons.math distributions,得到大于1的概率

java - Android 和 PC 上的谷歌地图上适当数量的标记

java - 无法加载 sigar-amd64-winnt : java. lang.NullPointerException

web-services - 是否有命名 SOAP 接口(interface)方法和变量的最佳实践?

java - 如何使用输入参数创建 Restful Web 服务?

java - 如何作为 Web 服务安全地执行 shell 命令

java - 我正在使用 Jersey 开发 RESTful web 服务,哪种 URL 样式最被认为是最惯用的?

java - 如何从某个日期获取零售 (4-5-4) 月历周数