Spring Boot单元测试启动失败:Jakarta验证类找不到问题求助
问题
Spring Boot微服务运行单元测试时无法启动,抛出关联错误:
java.lang.IllegalStateException: Unable to load cache item- 根因1:
java.lang.NoClassDefFoundError: jakarta/validation/ValidationException - 根因2:
java.lang.ClassNotFoundException: jakarta.validation.ValidationException
当前相关Maven依赖:
<dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.10.Final</version> </dependency>
项目中使用了import javax.validation.constraints.NotNull;导入语句,并在字符串属性上添加了@NotNull注解,推测问题出在验证模块。
解决方案
核心原因
你的依赖和Spring Boot版本存在javax/jakarta验证API的版本冲突:
- 你用的是
javax.validation包的API(Java EE规范),但Spring Boot 3.x及以上版本已全面切换到Jakarta EE规范(包名从javax改为jakarta),测试启动时会尝试加载Jakarta版本的类,导致找不到。 - 如果是Spring Boot 2.x版本,hibernate-validator 6.x搭配validation-api 2.x本是兼容的,但可能存在依赖传递冲突。
分版本处理方案
情况1:使用Spring Boot 3.x及以上版本
- 替换所有
javax.validation相关依赖为Jakarta版本:
<!-- 替换原validation-api --> <dependency> <groupId>jakarta.validation</groupId> <artifactId>jakarta.validation-api</artifactId> <version>3.0.2</version> </dependency> <!-- 替换原hibernate-validator,使用适配Jakarta的版本 --> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>8.0.1.Final</version> </dependency>
- 修改代码中的导入语句,把所有
javax.validation替换为jakarta.validation:
// 替换前 import javax.validation.constraints.NotNull; // 替换后 import jakarta.validation.constraints.NotNull;
情况2:使用Spring Boot 2.x版本
- 直接删除手动添加的
validation-api和hibernate-validator依赖,改用Spring Boot Starter自动管理:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
- 保持代码中的
javax.validation导入不变,Spring Boot会自动引入兼容的validation-api 2.x和hibernate-validator 6.x版本,避免依赖冲突。
额外检查
- 执行
mvn dependency:tree查看依赖树,确认没有同时引入javax.validation和jakarta.validation的包。 - 如果是单元测试类,确保测试类上的
@SpringBootTest等注解配置正确,没有引入额外的冲突依赖。
内容的提问来源于stack exchange,提问作者meniman98
相关产品推荐
相关产品推荐

