因为要给前端返回json数据,在pom文件中引入了jackson的包,启动项目的时候就一直报错
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException。
一开始以为是缺少jackson的jar包,看了一下,基本上都有。后上网查找资源普遍都说什么包冲突,去pom.xml文件查看了,有ali仓库的fastjson和另一个json包像似重叠,最后把另一删掉,还是报上面的问题,上网查找资源功夫不负有心人是兼容性问题,我的spring是5.0上的,所以jackson的包对应要升级到2.7以上
最后终于解决了。
java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException
此信息为spring和jackson相关版本不兼容
我使用的是Spring5.0.8版本,把本地jsckson版本升到2.7.5以上或者更高即可
Spring为4.3.2兼容jackson版本为2.7.5和更高版本,相关依赖如下:
<!--jackson依赖-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.5</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
<version>2.9.5</version>
</dependency>