当前位置: 首页 > 工具软件 > fasterxml > 使用案例 >

使用SparkStreaming时Jackson报错java lang ClassNotFoundException com fasterxml jackson core

祁权
2023-12-01

java.lang.ClassNotFoundException: com.fasterxml.jackson.databind.Module 或者报错如下
java lang ClassNotFoundException com fasterxml jackson core

一、 出现Jackson相关的报错问题,由两个原因导致


Jackson-core和jackson-databind和spring-boot-starter-json这三个依赖缺少其中的一个可能无法正常运行
二 检查依赖的版本,我今天不光是缺少其中的一个,而且对着maven仓库调整了好几次版本才找到适配项目的

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

<!-- spring-boot-starter-json -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-json</artifactId>
    <version>2.1.7.RELEASE</version>
</dependency>

二、下面介绍一下这三个依赖的作用:

Jackson的核心模块由三部分组成(从Jackson 2.x开始):jackson-core、jackson-annotations、jackson-databind。

jackson-core:核心包,定义了低级流(Streaming)API,提供基于"流模式"解析。Jackson内部实现正是通过高性能的流模式API的JsonGenerator和JsonParser来生成和解析json。
jackson-annotations,注解(Annotations)包,提供标准的Jackson注解功能;
jackson-databind:数据绑定(Databind)包,实现了数据绑定(和对象序列化)支持,它依赖于Streaming和Annotations包。提供基于“对象绑定”解析的API(ObjectMapper)和"树模型"解析的API(JsonNode);基于"对象绑定"解析的API和"树模型"解析的API依赖基于“流模式”解析的API。

如果要详细了解Jackson的功能和用法请参考以下文章
https://developer.aliyun.com/article/848109

 类似资料: