java.lang.NoSuchMethodError: ‘com.fasterxml.jackson.core.JsonParser$NumberTypeFP com.fasterxml.jacks
java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.JsonParser$NumberTypeFP com.fasterxml.jacks
·
完整报错信息
java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.JsonParser$NumberTypeFP com.fasterxml.jackson.core.JsonParser.getNumberTypeFP()
解决办法
出现 java.lang.NoSuchMethodError: 'com.fasterxml.jackson.core.JsonParser$NumberTypeFP com.fasterxml.jackson.core.JsonParser.getNumberTypeFP()' 错误的原因是 Jackson 库版本不兼容,具体表现为:
- 方法不存在于当前版本:
getNumberTypeFP()是 Jackson 2.14 及以上版本新增的方法。 - 依赖冲突:项目中可能存在多个 Jackson 版本,旧版本覆盖了新版本。
解决步骤:
1. 统一 Jackson 版本
- 确保所有 Jackson 组件(
jackson-core,jackson-databind,jackson-annotations等)使用相同版本(推荐 2.14+)。 - Maven 配置示例(
pom.xml):<properties> <jackson.version>2.15.3</jackson.version> </properties> <dependencies> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>${jackson.version}</version> </dependency> </dependencies> - Gradle 配置示例(
build.gradle):implementation 'com.fasterxml.jackson.core:jackson-core:2.15.3' implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.3'
2. 排查依赖冲突
- 使用以下命令检查依赖树:
- Maven:
mvn dependency:tree -Dincludes=com.fasterxml.jackson.core - Gradle:
gradle dependencies --configuration runtimeClasspath | grep 'com.fasterxml.jackson'
- Maven:
- 如果发现旧版本被间接引入,通过
<exclusion>或exclude移除冲突:<!-- Maven 示例:排除旧版本 --> <dependency> <groupId>some.library</groupId> <artifactId>problematic-library</artifactId> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> </exclusion> </exclusions> </dependency>
3. 强制指定版本(可选)
- 在 Maven 中通过
<dependencyManagement>或 Gradle 的resolutionStrategy强制统一版本:configurations.all { resolutionStrategy { force 'com.fasterxml.jackson.core:jackson-core:2.15.3', 'com.fasterxml.jackson.core:jackson-databind:2.15.3' } }
4. 更新 Spring Boot(如适用)
- 如果使用 Spring Boot,它默认管理 Jackson 版本。升级 Spring Boot 到 3.x 或更高版本(默认使用 Jackson 2.15+):
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.1.5</version> </parent>
验证解决
- 清理构建缓存(
mvn clean或gradle clean),重新编译并运行。 - 确认
JsonParser.class的版本:unzip -l path/to/jackson-core-2.15.3.jar | grep JsonParser.class
通过以上步骤,版本冲突问题通常可彻底解决。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)