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

已提供依赖仍在Eclipse中出现NoSuchFieldError问题求助

Jackson NoSuchFieldError: READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE 问题排查与解决

错误核心原因

这个错误由Jackson核心组件版本不兼容或依赖冲突导致:

  • READ_UNKNOWN_ENUM_VALUES_USING_DEFAULT_VALUE 是Jackson 2.14.x及以上版本中DeserializationFeature类新增的枚举字段
  • 项目中混入了低版本的jackson-databind(如2.13及更早版本),与你配置的2.15.2版本混用,导致运行时找不到该字段

排查与修复步骤

  • 检查依赖树定位冲突
    执行Gradle命令查看完整依赖关系,找出被间接引入的低版本Jackson组件:

    ./gradlew dependencies
    

    重点排查jackson-core、jackson-databind、jackson-annotations这三个核心包的版本是否统一为2.15.2。

  • 强制统一所有Jackson版本
    在build.gradle中添加版本约束,确保所有Jackson相关依赖(包括间接依赖)都使用指定版本:

    configurations.all {
        resolutionStrategy {
            force "com.fasterxml.jackson.core:jackson-core:${jacksonVersion}"
            force "com.fasterxml.jackson.core:jackson-databind:${jacksonVersion}"
            force "com.fasterxml.jackson.core:jackson-annotations:${jacksonVersion}"
        }
    }
    
  • 验证CXF的传递依赖
    CXF 4.0.2依赖Jackson的Jakarta适配版本,需确认其是否引入了与你指定版本冲突的Jackson组件。若有冲突,通过上述强制版本的方式覆盖。

  • 清理缓存并重新构建
    执行以下命令清理旧构建缓存,确保新依赖生效:

    ./gradlew clean build --refresh-dependencies
    

额外注意事项

  • 所有Jackson扩展包(如jackson-datatype-jsr310、jackson-module-jaxb-annotations)的版本必须与核心包完全一致,禁止跨版本混用
  • 若项目集成了Spring等其他框架,需检查框架自带的Jackson依赖,确保版本统一

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 18:45:54