问题:

Spring boot 2.0.9配置相关的redis配置,由于需要使用Redis 6.0的特性,升级了Lettuce 5.X到6.0.0.RELEASE版本,启动项目在调用缓存处出现报错:

java.lang.NoSuchMethodError:reactor.core.publisher.Mono.fromCompletionStage(Ljava/util/function/Supplier;)Lreactor/core/publisher/Mono;

解决方案:

Spring boot自带的使用的版本是

<reactor-bom.version>Bismuth-SR17</reactor-bom.version>

没有该方法,更换版本即可解决,在POM文件添加常量指定reactor-bom版本:

<properties>
    <reactor-bom.version>Dysprosium-SR21</reactor-bom.version>
</properties>