问题描述:
在使用SpringCloud gateway 启动项目时 ,控制台报如下错误;
2020-02-24 17:33:12.221 WARN 5312 --- [ctor-http-nio-4] i.n.c.AbstractChannelHandlerContext :
An exception 'java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: reactor/netty/NettyPipeline$SendOptions' [enable DEBUG level for full stacktrace] was thrown by a user handler's exceptionCaught() method while handling the following exception:
java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: reactor/netty/NettyPipeline$SendOptions
at org.springframework.cloud.gateway.filter.NettyRoutingFilter.lambda$filter$3(NettyRoutingFilter.java:134) ~[spring-cloud-gateway-core-2.1.5.RELEASE.jar:2.1.5.RELEASE]
at reactor.netty.http.client.HttpClientConnect$HttpClientHandler.requestWithBody(HttpClientConnect.java:580) ~[reactor-netty-0.9.4.RELEASE.jar:0.9.4.RELEASE]
......
解决问题
经检查发现,是由于在建 gateway 项目时使用 Spring Initializr 快速建立,SpringBoot 版本自动选用最新版本,Gateway是2.1.5.RELEASE,两者版本不兼容 导致的。
将 SpringBoot 版本降至 2.1.14.RELEASE 问题解决。
微信可以搜【Java猿记】公众号,回复【面试】即可领取283页PDF 面试资料