什么是与Jackson 2.9.2兼容的Jersey版本

时间:2017-11-12 20:42:10

标签: jersey-2.0 jackson2 jackson-databind

请您帮我解决这两个问题/问题:

任何曾经参与Jackson 2.9.2工作的人都可以让我知道Jackson 2.9.2的兼容泽西版本是什么。我目前正在使用Jersey 2.23.2但它不适用于Jackson 2.9.2。我得到了以下错误:

[ERROR   ] SRVE0777E: Exception thrown by application class 'org.glassfish.jersey.servlet.WebComponent.serviceImpl:489'
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.util.BeanUtil.okNameForSetter(Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod;)Ljava/lang/String;
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:489)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1290)

2)一般情况下,是否有某种方法可以找到罐子的组合。我在找到泽西和春天罐子的正确组合的同时也遇到了这个问题。如果有人的话,它会拯救我和其他人面临同样的问题。可以指导这个。

感谢。

2 个答案:

答案 0 :(得分:2)

截至2017年11月中旬,泽西岛的最新版本为2.26。

Jersey通过jersey-media-json-jackson扩展模块支持Jackson,该模块以与Jersey核心模块相同的版本号发布。此扩展模块包含可自动发现的JacksonFeature,它注册JacksonJsonProvider类以将JSON绑定到Java对象。

在2.26版中,此扩展依赖于Jackson 2.8.4。在版本2.23.2中,它取决于Jackson 2.5.4。

杰克逊2.5中已弃用BeanUtil.okNameForSetter(Annotated Method)方法,并且已在Jackson 2.9中删除。

要支持最新版本的Jackson,您可以摆脱jersey-media-json-jackson扩展模块。

然后将jackson-jaxrs-json-provider模块添加到您的项目中,并直接在JacksonJsonProviderResourceConfig实施中注册Application

答案 1 :(得分:0)

我遇到如下相同的错误:

[ERROR   ] SRVE0777E: Exception thrown by application class 'org.glassfish.jersey.servlet.WebComponent.serviceImpl:489'
javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: 
java.lang.NoSuchMethodError: com.fasterxml.jackson.databind.util.BeanUtil.okNameForSetter(Lcom/fasterxml/jackson/databind/introspect/AnnotatedMethod;)Ljava/lang/String;

我能够通过

解决以上问题
Jersey2 version: 2.23.2
Jackson version: 2.7.4