记录学习微服务遇到的坑
启动gateway,在此之前已经启动nacos,结果一直报错
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.reactorNettyWebSocketClient(GatewayAutoConfiguration.java:738)
The following method did not exist:
org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient.setHandlePing(Z)V
The method's class, org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient, is available from the following locations:
jar:file:/C:/Users/LING/.m2/repository/org/springframework/spring-webflux/5.2.3.RELEASE/spring-webflux-5.2.3.RELEASE.jar!/org/springframework/web/reactive/socket/client/ReactorNettyWebSocketClient.class
It was loaded from the following location:
file:/C:/Users/LING/.m2/repository/org/springframework/spring-webflux/5.2.3.RELEASE/spring-webflux-5.2.3.RELEASE.jar
Action:
Correct the classpath of your application so that it contains a single, compatible version of org.springframework.web.reactive.socket.client.ReactorNettyWebSocketClient
进程已结束,退出代码1
解决办法
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webflux</artifactId> <version>5.2.4.RELEASE</version> </dependency>
具体原因为什么不清楚,本以为还要启动除了nacos之外的服务,发现也不是,gpt回答说是版本不兼容,因为我是直接引入cloud,所以之前自动下载的是5.2.3.RELEASE,之后我也换成
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-webflux</artifactId> <version>5.2.3.RELEASE</version> </dependency>
发现还是报同样的错,所以个人推测可能是官方做了什么改动又或者自己本地idea或maven仓库做了什么,总之不兼容,所以换各版本就好,本人跟视频学习的,视频里没问题,到自己这就有问题了,不是很理解