java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException

昨天接到公司新的需求,说是要整合之前老的项目,想想都头疼,因为很讨厌看别人写的代码。

况且老项目真的是要多垃圾有多垃圾,没有注释,而且类名也没有驼峰命名规范,简直乱写一通。

终于明白那个美国程序员因同事没有驼峰命名而一怒之下就掏枪了。

好了废话不多说,说下遇到的问题。

因为要给前端返回json数据,在pom文件中引入了jackson的包,启动项目的时候就一直报错

java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException。

简直头大,一开始以为是缺少jackson的jar包,看了一下,基本上都有。

最后终于解决了。

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和更高版本,相关依赖如下:



    com.fasterxml.jackson.core
    jackson-core
    2.9.5


    com.fasterxml.jackson.core
    jackson-databind
    2.9.5


    com.fasterxml.jackson.core
    jackson-annotations
    2.9.5


    com.fasterxml.jackson.module
    jackson-module-jaxb-annotations
    2.9.5

你可能感兴趣的:(java.lang.NoClassDefFoundError: com/fasterxml/jackson/databind/exc/InvalidDefinitionException)