【问题标题】:Which JAR file contains the JsonProcessingException class?哪个 JAR 文件包含 JsonProcessingException 类?
【发布时间】:2026-02-03 00:55:02
【问题描述】:

当我尝试将 Jackson 2.1.1 与以下 jar 文件一起使用时(在 Spring 3.2.2 中),

  • jackson-core-2.1.1.jar
  • jackson-annotations-2.1.1.jar
  • jackson-databind-2.1.1.jar

我得到以下异常。

java.lang.ClassNotFoundException: org.codehaus.jackson.JsonProcessingException

所以我认为,JsonProcessingException 类包含在jackson-core-asl-2.1.1.jar 文件中(虽然我不太确定)但我在download 中看不到这个文件。那么从哪里获取这个文件来解决这个异常呢?


jackson-all-1.9.8.jar 包含必要的类,包括 org.codehaus.jackson.JsonProcessingException 类和 JSON 也可以正常工作,但我不确定这是否完全兼容,因为我正在使用来自 Jackson 2.1.1 的类进行对象映射。因此我正在寻找jackson-core-asl-2.1.1.jar 文件,但我看不到这样的JAR 文件。我只能看到1.x.x 版本here

【问题讨论】:

    标签: spring spring-mvc jar jackson


    【解决方案1】:

    在 2.1.2 版本中,该类称为 com.fasterxml.jackson.core.JsonProcessingException,它位于 jackson-core jar 中。 Jackson changed its packaging for version 2.0,还有很多其他的东西。

    您似乎有一些针对较旧版本的 Jackson 编写的代码,并试图以旧名称加载该类。您将需要更新此代码,或使用旧版本的 Jackson。

    【讨论】:

    • 我已经下载了 2.1.2 版的这些 JAR 文件 - jackson-core-2.1.2.jarjackson-databind-2.1.2.jarjackson-module-jaxb-annotations-2.1.2.jar,我得到了这个异常 - java.lang.NoClassDefFoundError: Could not initialize class com.fasterxml.jackson.databind.ObjectMapper。在 Google 的帮助下从未找到任何解决方案。
    • 对于 Jackson 2.1.1,我必须注册 org.springframework.http.converter.json.MappingJackson2HttpMessageConverter 才能使用它。早些时候,它试图默认使用org.springframework.http.converter.json.MappingJacksonHttpMessageConverter。因此,例外。它现在可以与 Jackson 2.1.1 一起正常工作。
    【解决方案2】:

    使用 jackson-all-1.9.9 jar 代替 jackson-core、jackson-annotations 和 jackson-databind 的更高版本 (2.x.x.)。这是link

    【讨论】:

      最近更新 更多