Spring Boot 3.2.0新项目启动报错:DefaultParameters无法转换为JpaParameters
解决Spring Boot 3.2.0中
DefaultParameters无法转换为JpaParameters的错误 错误信息
class org.springframework.data.repository.query.DefaultParameters cannot be cast to class org.springframework.data.jpa.repository.query.JpaParameters
问题原因
这个类型转换错误几乎都是Spring Data组件版本不匹配导致的。Spring Boot 3.2.0默认依赖Spring Data 2023.0.0(Ullmann)版本,如果项目中手动指定了其他版本的Spring Data JPA、Spring Data Commons,或者引入的第三方库自带了旧版Spring Data组件,就会出现类加载冲突,导致两个本应兼容的类无法互相转换。
解决方案
- 移除手动指定的Spring Data版本:让Spring Boot父依赖统一管理所有Spring相关组件的版本。比如在
pom.xml中删除spring-data-jpa、spring-data-commons等依赖的version标签;Gradle项目中不要在dependencies里指定这些依赖的版本。 - 排查并排除冲突依赖:用依赖分析工具找出冲突的组件。Maven执行
mvn dependency:tree,Gradle执行./gradlew dependencies,查看输出中是否有多个版本的Spring Data组件,然后通过<exclusions>(Maven)或exclude(Gradle)排除旧版依赖。 - 清理并重新下载依赖:清理本地仓库缓存,避免缓存的旧版依赖干扰。Maven执行
mvn clean install -U;Gradle执行./gradlew clean build --refresh-dependencies。 - 确保所有Spring Data组件版本一致:如果必须手动指定版本,要保证
spring-data-jpa、spring-data-commons等所有Spring Data相关依赖使用与Spring Boot 3.2.0适配的版本(即2023.0.0系列)。
内容的提问来源于stack exchange,提问作者Nguyễn Thánh Duy
相关产品推荐
相关产品推荐

