java - Jersey 2.9 和 Jackson 提供商

标签 java rest jersey jackson

我正在使用 Jersey 2.9 和 Jackson,在这里您可以找到依赖项:

 <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-client</artifactId>
  </dependency>

  <dependency>
        <groupId>org.glassfish.jersey.media</groupId>
        <artifactId>jersey-media-json-jackson</artifactId>
  </dependency>

当我执行此客户端代码时,我有一些 POJO 类,例如 Student.class,其中包含一些属性:

Student studentRequest = new Student(); 

Response response = target()
                .path("/students/register")
                .request(MediaType.APPLICATION_JSON_TYPE)
                .post(Entity.json(studentRequest), Response.class);

代码不起作用,我得到了这个异常:

javax.ws.rs.ProcessingException: com.fasterxml.jackson.jaxrs.base.ProviderBase._configForWriting(Lcom/fasterxml/jackson/databind/ObjectWriter;[Ljava/lang/annotation/Annotation;)Lcom/fasterxml/jackson/jaxrs/cfg/EndpointConfigBase;
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:233)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:655)
    ...
    at 
Caused by: java.lang.AbstractMethodError: com.fasterxml.jackson.jaxrs.base.ProviderBase._configForWriting(Lcom/fasterxml/jackson/databind/ObjectWriter;[Ljava/lang/annotation/Annotation;)Lcom/fasterxml/jackson/jaxrs/cfg/EndpointConfigBase;
    at com.fasterxml.jackson.jaxrs.base.ProviderBase._configForWriting(ProviderBase.java:469)
...

有人知道我为什么得到这个堆栈跟踪吗?

谢谢!

最佳答案

遇到同样的问题,在我的例子中,它通过将 maven 依赖管理系统的实现作为依赖项添加到 pom.xml 中的客户端来帮助修复 java.lang.AbstractMethodError:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.2.2</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.2.2</version>
    </dependency>

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>2.2.2</version>
    </dependency>

关于java - Jersey 2.9 和 Jackson 提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187028/

相关文章:

java - 如何在jsp页面中显示选中的数据

java - CXF REST 服务返回超过 1 个 http 代码

api - 设计一个 Restful api : naming URIs, 自定义 header ?

java - 具有多个参数的 JAX-RS Post 方法

java - 从哪里可以获得 AES key 计划加密 key ?

java - 手动超时java中的httpurlconnection

java - Jackson ObjectMapper writeValueAsBytes 方法向已包含反斜杠的字符串添加另一个反斜杠

java - HK2/Jersey 不注入(inject)非资源类

java - Play Framework 2.5 应用程序在没有明显原因的情况下崩溃

java - 如何通过自己的REST服务传递API异常输出?