Spring boot导入jackson相关maven依赖

本文介绍了Jackson库从1.x迁移到2.x的过程中遇到的版本冲突问题。在升级过程中,由于引入了谷歌的jackson-datatype-guava依赖,导致了JavaTimeModule无法实例化,报NoClassDefFoundError。解决方案是检查并确保所有Jackson相关依赖的版本一致性,避免版本冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:1.x版本使用的是codehaus的库,2.0之后改成fasterxml,建议使用2.0以后的版本。

版本一:

<!-- jackson 1.x 相关依赖 -->
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-core-asl</artifactId>
    <version>1.9.13</version>
</dependency>
<dependency>
    <groupId>org.codehaus.jackson</groupId>
    <artifactId>jackson-mapper-asl</artifactId>
    <version>1.9.13</version>
</dependency>

版本二:

<!-- jackson 2.x 相关依赖 -->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.12.0</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.12.0</version>
</dependency>

引入过程遇到问题:

Failed to instantiate [com.fasterxml.jackson.datatype.jsr310.JavaTimeModule]:
 Constructor threw exception; nested exception is java.lang.NoClassDefFoundError:
 com/fasterxml/jackson/datatype/jsr310/ser/ZoneIdSerializer

排查一看,是因为在pom文件中导入了谷歌的jackson-datatype-guava依赖,导致了版本冲突,将版本修改一致即可。

Spring Web项目中,常用的一些Maven依赖包括基础依赖、Web依赖和特定功能依赖。以下是基本的配置示例: ### 1. Spring Boot的基础依赖 ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ``` 这将自动包含了Spring Web、Spring MVC、Tomcat服务器和其他相关组件。 ### 2. Spring Web相关库 - 如果需要更细粒度的选择,可以单独添加Spring MVC依赖: ```xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> ``` - 对于JSON支持,可能还需要Jackson库: ```xml <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> ``` - HTTP客户端或服务端交互时,可能需要RestTemplate或Retrofit等库,根据实际需求选择相应依赖。 ### 3. 静态资源管理 - 如果需要部署静态文件,可以加上Spring Boot提供的starter: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-static</artifactId> </dependency> ``` 或者直接引入WebJars库管理第三方CSS/JS: ```xml <dependency> <groupId>org.webjars</groupId> <artifactId>bootstrap</artifactId> </dependency> ``` ### 4. 日志记录 为了方便日志记录,推荐使用Spring Boot内置的Logback或Log4j2: ```xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </dependency> ``` 记得在`pom.xml`文件中正确引入上述依赖,并根据项目的实际需求进行调整。同时别忘了在`application.properties`或`application.yml`中配置相关的属性,比如数据库连接、端口等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jz_Stu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值