继承JpaRepository时报错找不到PagingAndSortingRepository类文件如何解决
错误产生原因
JpaRepository 本身继承自 PagingAndSortingRepository,该类属于 spring-data-commons 依赖包,找不到类的核心原因都是依赖相关问题:
- 依赖缺失:未引入
spring-data-commons依赖包,仅单独引入了spring-data-jpa依赖 - 版本不兼容:手动指定的
spring-data-jpa和spring-data-commons版本不匹配;如果是Spring Boot项目,也可能是手动指定的Spring Data JPA版本和当前Spring Boot版本不兼容 - 本地依赖缓存损坏:Maven/Gradle本地缓存的依赖包下载不完整,导致编译时无法读取类文件
解决方案
场景1:Spring Boot项目
优先使用官方 Starter 管理依赖,删除你手动指定的 spring-data-jpa、spring-data-commons 版本号,直接引入官方starter即可,Starter会自动匹配所有兼容的依赖版本:
Maven 配置示例:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency>
Gradle 配置示例:
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
场景2:非Spring Boot的普通Spring项目
确保 spring-data-jpa 和 spring-data-commons 依赖的版本号完全一致,避免跨版本混用:
Maven 配置示例:
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-jpa</artifactId> <version>3.2.0</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-commons</artifactId> <version>3.2.0</version> </dependency>
通用排障方案
如果确认依赖配置没有问题,执行以下操作修复损坏的本地缓存:
- Maven 项目执行命令:
mvn clean install -U - Gradle 项目执行命令:
gradle clean build --refresh-dependencies - IDE 层面执行重新导入依赖,或清理缓存重启IDE
内容的提问来源于stack exchange,提问作者Arnoldkk
相关产品推荐
相关产品推荐

