Spring Boot 3.3.0升级后找不到jackson-databind的ObjectMapper类
解决Spring Boot 3.3.0升级后缺失jackson-databind导致的BeanCreationException问题
核心原因
Spring Boot 3.x默认依赖Jackson,但如果项目通过排除默认依赖或手动管理Jackson版本时,可能遗漏jackson-databind——com.fasterxml.jackson.databind.ObjectMapper正是该包的核心类,而JacksonEndpointAutoConfiguration(Actuator自动配置类)必须依赖它才能完成初始化。
具体解决步骤
- 显式添加jackson-databind依赖
在Mavenpom.xml中引入与你使用的Jackson 2.17.1版本一致的依赖:<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.17.1</version> </dependency> - 检查并调整依赖排除规则
排查项目中是否存在排除Spring Boot默认Jackson依赖的配置,比如:
若有此类配置,要么移除排除规则,要么确保已手动添加对应版本的<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </exclusion> </exclusions> </dependency>jackson-databind。 - 借助Spring Boot依赖管理自动对齐版本
若不想手动指定版本,可依赖Spring Boot的dependencyManagement自动匹配兼容版本。确保pom.xml中引入Spring Boot父依赖或依赖管理:
之后添加<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.3.0</version> <relativePath/> <!-- 从仓库查找父依赖 --> </parent>jackson-databind依赖时无需指定版本,Spring Boot会自动匹配与3.3.0兼容的Jackson版本(即你指定的2.17.x系列)。
验证步骤
添加依赖后,执行mvn dependency:tree确认com.fasterxml.jackson.core:jackson-databind已出现在依赖树中,重启应用即可解决该异常。
内容的提问来源于stack exchange,提问作者user1071914
相关产品推荐
相关产品推荐

