报错信息
powershell
Description:
Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway.
Action:
Please set spring.main.web-application-type=reactive or remove spring-boot-starter-web dependency.
解析
这个错误信息是因为你的项目中同时存在Spring MVC和Spring Cloud Gateway,这两者是不兼容的。
Spring Cloud Gateway是基于Spring WebFlux构建的,Spring WebFlux是一个非阻塞的反应式web框架,而Spring MVC是一个阻塞的框架,它包含在spring-boot-starter-web依赖中。 要解决这个问题,你需要做以下其中一项:
①:如果不需要,从你的pom.xml中移除spring-boot-starter-web依赖。
②:如果你在同一个应用中需要Spring MVC和Spring Cloud Gateway,你可以在你的application.yml或application.properties文件中将web应用类型设置为REACTIVE。
以下是如何在application.yml中将web应用类型设置为REACTIVE:
yaml
spring:
main:
web-application-type: reactive