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

Spring Boot集成HAPI FHIR Client遇Jackson NoSuchFieldError异常

异常原因分析:java.lang.NoSuchFieldError: ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS

核心原因

  • ALLOW_LEADING_PLUS_SIGN_FOR_NUMBERS 是Jackson库中com.fasterxml.jackson.core.JsonParser.Feature枚举类的特性字段,该字段仅在Jackson 2.14.0及以上版本中存在。
  • 你当前使用的Jackson版本为2.13.1,不包含该字段,但HAPI FHIR Client 7.4.0的代码(具体在JacksonStructure.createObjectMapper方法中)尝试访问这个高版本Jackson才有的字段,直接触发NoSuchFieldError。

版本依赖冲突背景

  • Spring Boot 2.6.2默认绑定Jackson 2.13.x系列版本,而HAPI FHIR 7.x(含7.4.0)对Jackson的最低要求是2.14.0。
  • 项目依赖未做版本对齐,导致低版本Jackson被优先加载,与HAPI FHIR的依赖需求产生兼容性冲突。

验证方法

通过构建工具查看依赖树,确认Jackson核心包的实际生效版本:

  • Maven:执行 mvn dependency:tree | grep jackson-core
  • Gradle:执行 gradle dependencies | grep jackson-core

解决方向

  • 升级Spring Boot版本:将Spring Boot升级至2.7.x及以上(2.7.x默认依赖Jackson 2.14.x),自动完成版本对齐。
  • 手动指定Jackson版本:在项目构建配置中强制设置Jackson版本为2.14.0+,例如Maven的pom.xml中添加:
<properties>
    <jackson.version>2.14.2</jackson.version>
</properties>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 01:37:18