You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring 4.3.5与Jackson 2.8.7兼容问题:抛出NoSuchMethodError异常求助

解决Spring 4.3.5.RELEASE与Jackson 2.8.7版本不兼容导致的NoSuchMethodError问题

这个问题我帮不少开发者排查过,核心原因就是Spring与Jackson的版本依赖不匹配,下面给你拆解原因和具体解决办法:

问题根源

Spring 4.3.5.RELEASE对Jackson的兼容版本范围是2.6.x ~ 2.7.x,而你使用的Jackson 2.8.7调整了ObjectWriter.forType()方法的实现逻辑(或者说Spring 4.3.5预期的方法签名在Jackson 2.8.x中已发生变更),导致Spring的AbstractJackson2HttpMessageConverter在调用该方法时触发了NoSuchMethodError。

可行解决方案

你有两个明确的解决方向:

方案1:降级Jackson到兼容版本

将Jackson版本降级到Spring 4.3.5官方支持的稳定版本,比如2.7.9,这是4.3.x系列Spring推荐搭配的Jackson版本:

  • 如果你用Gradle,修改版本配置:
    jacksonVersion = '2.7.9'
    
  • 如果你用Maven,修改properties配置:
    <properties>
        <jackson.version>2.7.9</jackson.version>
    </properties>
    

方案2:升级Spring版本适配Jackson 2.8.x

如果一定要保留Jackson 2.8.7,那需要把Spring版本升级到4.3.10.RELEASE及以上——从这个版本开始,Spring框架正式兼容Jackson 2.8.x系列,修改Spring版本即可:

springVersion = '4.3.10.RELEASE'

额外排查建议

修改版本后,建议检查项目的依赖树,避免其他依赖间接引入冲突的Jackson版本:

  • Maven用户执行命令:mvn dependency:tree
  • Gradle用户执行命令:./gradlew dependencies
    如果发现有低版本Jackson被间接引入,记得在对应依赖中添加排除规则,保证整个项目使用统一的兼容版本。

内容的提问来源于stack exchange,提问作者Shiladittya Chakraborty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 08:32:38