Spring Data类无法解析求助:间接引用.class文件报错
搞定Spring Data Mongo的那两个编译错误
问题根因
你碰到的PagingAndSortingRepository和Sort这两个类,都属于Spring Data Commons模块。出现这类“无法解析”的错误,大概率是项目缺了对应的依赖,或者依赖版本不匹配,也可能是IDE缓存抽风没识别到依赖。
具体解决办法
1. 补全/检查依赖
如果用的是Spring Boot项目,直接在pom.xml(Maven)里加这个starter就行,它会自动把需要的Spring Data Commons带进来:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>
Gradle项目的话,在build.gradle里加:
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
要是非Spring Boot项目,得手动加两个依赖,注意版本要和你用的Spring核心版本匹配,别搞冲突:
<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-commons</artifactId> <version>你的对应版本号</version> </dependency> <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>你的对应版本号</version> </dependency>
2. 刷新依赖+清IDE缓存
- 先执行Maven的
clean install或者Gradle的clean build,重新构建一遍项目。 - 要是IDE还是报错,比如IntelliJ IDEA,就点
File -> Invalidate Caches...,选清除缓存并重启IDE,大概率能解决IDE没识别到依赖的问题。
3. 核对JDK版本
确保项目用的JDK版本和Spring Data依赖支持的版本对得上——比如Spring Boot 3.x得用JDK17及以上,Spring Boot 2.x支持JDK8及以上,版本不兼容也会搞出类解析失败的问题。
验证
做完上面这些步骤,重新编译项目,那两个错误应该就没了。你的RatingRepository代码本身没啥问题,只要依赖配对了就能正常跑。
内容的提问来源于stack exchange,提问作者Pranay Singh
相关产品推荐
相关产品推荐

