项目场景:
在我看来这是因为jar包冲突导致的,之前mybatis-plus版本在3.4之前,springboot是2.2.5,项目正常启动,由于使用一些服务,提高了mybatis-plus版本为3.4,结果项目启动发生 java.lang.NoClassDefFoundError: com/fasterxml/jackson/datatype/jsr310/ser/ZoneIdSerialize
原因分析:
提示:
不管是又由于什么样的原因,出现错误就要解决错误,我们来分析错误,这里是jar冲突的问题,我们尝试进行覆盖jar包
解决方案:
提示:jar的问题,我们去Maven Repository进行查看官方的帮助
例如:com/fasterxml/jackson/datatype/jsr310/ser/ZoneIdSerialize错误我们要进入 jackson-databind 包,进入的版本按照下面步骤
Spring版本
根据后面的时间,我们找到 jackson-databind 包对应的时间版本
jackson-databind版本
最后在pom.xml文件中添加依赖即可(一定要注意版本,不然还是有问题)
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.5</version>
</dependency>
运行后项目成功启动
如果还有类似错误,导入下面三个jar包分别是
jackson-databind,jackson-annotations,jackson-core(注意版本,按照操作查询)
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.10.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.10.5</version>
</dependency>