无法导入 Spring RepositoryRestResource
Posted
技术标签:
【中文标题】无法导入 Spring RepositoryRestResource【英文标题】:Unable to import Spring RepositoryRestResource 【发布时间】:2015-09-25 06:27:05 【问题描述】:我正在尝试通过 Spring 实现基于 REST 的 MongoDB 服务,但遇到了一些麻烦。我无法导入某个库。
我班上有这个:
package main;
import java.util.List;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.rest.core.annotation.RepositoryRestResource;
@RepositoryRestResource(collectionResourceRel = "people", path = "people")
public interface PersonRepository extends MongoRepository<Person, String>
List<Person> findByLastName(@Param("name") String name);
但是import org.springframework.data.rest.core.annotation.RepositoryRestResource;
由于某种原因无法正常工作并给我错误:The import org.springframework.data.rest cannot be resolved
这是我的 maven pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>UserRegistrationServices</groupId>
<artifactId>UserRegistrationServices</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.5.RELEASE</version>
</parent>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- Get the dependencies of a web application -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<!-- Spring Boot Maven Support -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
另外,我直接关注本指南:http://spring.io/guides/gs/accessing-mongodb-data-rest/
如何解决?谢谢
【问题讨论】:
你用的是什么IDE? 【参考方案1】:编辑您的 pom.xml.... 并将这些行添加到 <dependencies></dependencies>
...
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>
【讨论】:
现在不是2.1.8,而是2.1.0<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> <version>2.1.0.RELEASE</version> </dependency>
【参考方案2】:
我在1.3.6.RELEASE
上遇到了同样的问题。
它说,
org.springframework.data.rest.core.annotation.RepositoryRestResource 无法解析为类型
于是我将spring-boot的版本设置为1.2.8.RELEAS
,现在我解决了。
下面是我当前spring-boot的pom.xml。
....
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.8.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
....
【讨论】:
【参考方案3】:我对这个错误消息有同样的问题。在我的情况下是导致 IDE(Intellij)中的刷新问题。 删除带有注释的行 (@RepositoryRestResource) 并重新插入它很有帮助。
【讨论】:
【参考方案4】:我也曾尝试从https://spring.io/guides/gs/accessing-mongodb-data-rest/ 关注相同的内容 对我来说,这个问题在我添加了https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-rest/2.3.0.RELEASE 的版本后得到了解决 为了更准确和清楚,我在 pom.xml 文件中添加了这个来解决这个问题。也许如果您添加版本,它将开始工作!
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-data-rest -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
<version>2.3.0.RELEASE</version>
</dependency>
【讨论】:
以上是关于无法导入 Spring RepositoryRestResource的主要内容,如果未能解决你的问题,请参考以下文章
我无法在 Spring 项目中使用和导入 ApplicationContext
Spring Boot 注释和导入无法在 Intellij IDE 上解析
无法处理配置类 Spring Cloud Gateway 的导入候选
即使文件在路径中,也无法从 URL 位置 [classpath:spring/spring-persistence-layer.xml] 导入 bean 定义