【问题标题】:java.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonInclude$Valuejava.lang.ClassNotFoundException: com.fasterxml.jackson.annotation.JsonInclude$Value
【发布时间】:2016-06-04 18:59:37
【问题描述】:

我正在尝试将我的 json 字符串转换为 java 对象,但出现错误

线程“主”java.lang.NoClassDefFoundError 中的异常:com/fasterxml/jackson/annotation/JsonInclude$Value 在 com.fasterxml.jackson.databind.cfg.MapperConfig.(MapperConfig.java:45) 在 com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:535) 在 com.fasterxml.jackson.databind.ObjectMapper.(ObjectMapper.java:452) 在 com.allianz.cmis.util.ApacheHttpClientGet.main(ApacheHttpClientGet.java:65) 引起:java.lang.ClassNotFoundException:com.fasterxml.jackson.annotation.JsonInclude$Value 在 java.net.URLClassLoader$1.run(URLClassLoader.java:366) 在 java.net.URLClassLoader$1.run(URLClassLoader.java:355) 在 java.security.AccessController.doPrivileged(本机方法) 在 java.net.URLClassLoader.findClass(URLClassLoader.java:354) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:425) 在 sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 在 java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 4 更多

这是我的 json 字符串和我的代码 sn-p

json 字符串 {'ctpnsw': [{'abc' , 'def' }]}

型号

public class Fields {

     private List<String> ctpnsw;

    public List<String> getCtpnsw() {
        return ctpnsw;
    }

    public void setCtpnsw(List<String> ctpnsw) {
        this.ctpnsw = ctpnsw;
    }

}

Java 代码

ObjectMapper mapper = new ObjectMapper(); List<Fields> list = mapper.readValue(output, TypeFactory.defaultInstance().constructCollectionType(List.class,Fields.class)); System.out.println(list);

【问题讨论】:

    标签: java jackson wordpress-json-api


    【解决方案1】:

    如何将其添加到您的 pom.xml 中

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-annotations</artifactId>
        <version>${jackson.version}</version>
    </dependency>
    

    【讨论】:

    【解决方案2】:

    Jackson 编组/解组需要以下相同版本的 jar 文件。

    1. 杰克逊核心

    2. 杰克逊数据绑定

    3. 杰克逊注解

      确保您在类路径中添加了所有这些具有相同版本的内容。在您的情况下,类路径中缺少 jackson-annotations

    【讨论】:

    【解决方案3】:

    我收到了同样的错误信息。在我的例子中,Jackson 由多个 JAR 文件组成。可悲的是,他们有不同版本的 jackson-core 和 jackson-annotations 导致上述异常。

    也许您的类路径中没有jackson-annotation JAR,至少在正确的版本中没有。您可以使用命令mvn dependency:tree 分析使用的库版本。

    【讨论】:

    • JAX-RS 和 jsonschema2pojo,例如具有不同的 jackson 版本作为依赖项(在 maven 中)。强制一个特定版本(在依赖管理中)解决了这个问题。
    【解决方案4】:

    我有不同版本的注释 jar。将所有 3 个 jar 更改为使用 相同版本的数据绑定、注释和核心 jackson jar

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

    【讨论】:

      【解决方案5】:

      即使这个答案为时已晚,我还是添加了它,因为我也经历了一段可怕的时间来寻找同一问题的答案。唯一不同的是,我一直在努力使用 AWS Comprehend Medical API。

      在我写这个答案的那一刻,如果有人在使用任何 AWS 开发工具包时遇到同样的问题,请将 jackson-annotaions 或任何 jackson 依赖项降级到 2.8.* 版本。 由于某种原因,最新的 2.9.* 版本无法与 AWS 开发工具包一起正常工作。任何人对背后的原因有任何想法,请随时在下面发表评论。

      以防万一有人懒得 google maven repos,我已经链接了必要的 repos。检查出来!

      【讨论】:

      • 现在,您可以使用新的 2.10.0 版本,而不是降级,它已为我修复。
      • 你先生是我今天的英雄。
      • 非常感谢。在将 Spring Boot 版本从 2.1 升级到 2.4 后,我的项目中遇到了类似的问题,使用这里建议的 v2.10.0 解决了我的问题。
      【解决方案6】:

      获取所有 3 个 jackson jar 并将它们添加到您的构建路径:

      https://mvnrepository.com/artifact/com.fasterxml.jackson.core

      【讨论】:

      • 如何添加到构建路径?在智能中
      【解决方案7】:

      使用 jackson-bom,它将具有所有三个 jackson 版本。即 jackson-annotations、jackson-core 和 jackson-databind。这将解决与这些版本相关的依赖关系

      【讨论】:

        【解决方案8】:

        这是版本问题 将版本> 2.4 更改为 1.9 解决它

        <dependency>  
        <groupId>com.fasterxml.jackson.jaxrs</groupId>  
        <artifactId>jackson-jaxrs-xml-provider</artifactId>  
        <version>2.4.1</version>  
        

        <dependency>  
        <groupId>org.codehaus.jackson</groupId>  
        <artifactId>jackson-mapper-asl</artifactId>  
        <version>1.9.4</version>  
        

        【讨论】:

          【解决方案9】:

          使用 Jackson-annotations.jar 将解决问题,因为它对我有用。

          【讨论】:

          • 您能否详细说明您的答案
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-02-22
          • 2018-01-13
          • 2021-08-15
          • 2014-08-18
          • 2017-02-21
          相关资源
          最近更新 更多