我正在制作一个新的springboot-maven项目。当我在@RestController
以下使用时,编译器无法解析pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.3.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
但是,当我将版本更改为1.5.13时,编译器可以解析@RestController
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
我想使用最新版本的Spring Boot,并使用@RestController
。
答案 0 :(得分:1)
@RestController
不是来自org.springframework.boot:spring-boot-starter-web
,而是来自org.springframework:spring-web
。不同版本的spring-boot-starter-web可能必须具有某种临时依赖关系来提供它,但是依靠它是一种不好的做法。如果在代码中使用@RestController
,则应明确要求提供它的工件:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.0.7.RELEASE</version>
</dependency>
答案 1 :(得分:0)
因为我无法添加评论,所以我认为maven配置不是您的问题,请检查@Configuration和@SpringBootApplication类及其路径扫描设置
您可能遇到的另一个问题:也许您的其他依赖项之一仍然取决于springboot 1.5,您必须拥有一个干净的springboot 2.0类路径
我也遇到类似的问题,所以继续学习吧,您会发现它的;-)
答案 2 :(得分:0)
我遇到了类似的问题,这是因为我将类命名为 RestController 。将其重命名为 Controller 后,就可以导入@RestController程序包了。