SpringCloud Alibaba Gateway 启动报错
***************************
APPLICATION FAILED TO START
***************************
Description:
Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.
Action:
Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.
原因:
要排除其他依赖的spring-boot-starter-web,因为会与spring cloud gateway的webflux冲突。
解决方案1:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<dependency>
修改成
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</exclusion>
</exclusions>
</dependency>
我按照这种方法启动成功了。
解决方案2:
<!-- 核心模块,因为我的核心模块引入了spring-boot-starter-web,将其排除 -->
<dependency>
<groupId>huluwa</groupId>
<artifactId>boss-xtrain-core</artifactId>
<version>${huluwa.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<!--新增gateway,要排除其他依赖的spring-boot-starter-web,因为会与gateway的webflux冲突
不排除依赖报Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
参考
springCloud Gateway 报错:Consider defining a bean of type ‘org.springframework.http.codec.ServerCodec
https://blog.csdn/qq_41686190/article/details/107280990