1、错误信息:The following method did not exist: reactor.netty.resources.ConnectionProvider B u i l d e r . e v i c t I n B a c k g r o u n d ( L j a v a / t i m e / D u r a t i o n ; ) L r e a c t o r / n e t t y / r e s o u r c e s / C o n n e c t i o n P r o v i d e r Builder.evictInBackground(Ljava/time/Duration;)Lreactor/netty/resources/ConnectionProvider Builder.evictInBackground(Ljava/time/Duration;)Lreactor/netty/resources/ConnectionProviderConnectionPoolSpec;
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2021-11-17 13:50:00.745 ERROR 4936 --- [ main] o.s.b.d.LoggingFailureAnalysisReporter :
***************************
APPLICATION FAILED TO START
***************************
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
org.springframework.cloud.gateway.config.GatewayAutoConfiguration$NettyConfiguration.buildConnectionProvider(GatewayAutoConfiguration.java:798)
The following method did not exist:
reactor.netty.resources.ConnectionProvider$Builder.evictInBackground(Ljava/time/Duration;)Lreactor/netty/resources/ConnectionProvider$ConnectionPoolSpec;
The method's class, reactor.netty.resources.ConnectionProvider$Builder, is available from the following locations:
jar:file:/E:/mvn_repo/io/projectreactor/netty/reactor-netty/0.9.11.RELEASE/reactor-netty-0.9.11.RELEASE.jar!/reactor/netty/resources/ConnectionProvider$Builder.class
The class hierarchy was loaded from the following locations:
reactor.netty.resources.ConnectionProvider.Builder: file:/E:/mvn_repo/io/projectreactor/netty/reactor-netty/0.9.11.RELEASE/reactor-netty-0.9.11.RELEASE.jar
reactor.netty.resources.ConnectionProvider.ConnectionPoolSpec: file:/E:/mvn_repo/io/projectreactor/netty/reactor-netty/0.9.11.RELEASE/reactor-netty-0.9.11.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of reactor.netty.resources.ConnectionProvider$Builder
Disconnected from the target VM, address: '127.0.0.1:51122', transport: 'socket'
Process finished with exit code 1
当运行Spring Cloud Gateway时,出现了如下错误,为什么出现这样的错误呢?在之前,已经按照这种方式成功启动过Spring Cloud Gateway程序了,为什么这次又不行了呢?
问题原因: 出现该问题的原因,是因为我在搭建Spring Cloud Gateway环境的时候,使用的SpringBoot、SpringCloud 和 SpringCloud Alibaba 组件的时候,版本不一致造成的,通过修改其中引用的组件版本,可以修改该问题。版本兼容如下所示:
详细请查看《阿里巴巴 官方 版本说明》。