【问题标题】:Getting : Correct classpath for reactor.netty.resources.ConnectionProvider$Builder while running spring project获取:运行spring项目时reactor.netty.resources.ConnectionProvider$Builder的正确类路径
【发布时间】:2021-08-23 19:12:05
【问题描述】:

说明:

试图调用一个不存在的方法。尝试是从以下位置进行的:

org.springframework.cloud.gateway.config.GatewayAutoConfiguration$NettyConfiguration.buildConnectionProvider(GatewayAutoConfiguration.java:798)

以下方法不存在:

reactor.netty.resources.ConnectionProvider$Builder.evictInBackground(Ljava/time/Duration;)Lreactor/netty/resources/ConnectionProvider$ConnectionPoolSpec;

该方法的类 reactor.netty.resources.ConnectionProvider$Builder 可从以下位置获得:

jar:file:/C:/Users/Sam/.m2/repository/io/projectreactor/netty/reactor-netty/0.9.12.RELEASE/reactor-netty-0.9.12.RELEASE.jar!/reactor/netty/resources/ConnectionProvider$Builder.class

类层次结构是从以下位置加载的:

reactor.netty.resources.ConnectionProvider.Builder: file:/C:/Users/Sam/.m2/repository/io/projectreactor/netty/reactor-netty/0.9.12.RELEASE/reactor-netty-0.9.12.RELEASE.jar
reactor.netty.resources.ConnectionProvider.ConnectionPoolSpec: file:/C:/Users/Sam/.m2/repository/io/projectreactor/netty/reactor-netty/0.9.12.RELEASE/reactor-netty-0.9.12.RELEASE.jar

行动:

更正应用程序的类路径,使其包含一个兼容的 reactor.netty.resources.ConnectionProvider$Builder 版本

进程以退出代码 1 结束

【问题讨论】:

  • 您使用的 Spring Cloud Gateway 版本与您使用的 Reactor Netty 版本不兼容。您能否分享您的 build.gradle 或 pom.xml 文件,以便我们查看版本的来源?
  • 嘿伙计,抱歉回复晚了。这是我的项目:github.com/sam112358/cloud-gateway/blob/main/pom.xmlTIA

标签: java spring-boot netty


【解决方案1】:

缺少的方法是new in Reactor Netty 0.9.13.RELEASE,而您目前正在使用 0.9.12.RELEASE。这个版本来自 Spring Boot 2.3.4 的依赖管理。 Spring Boot 2.3.5 升级到 Reactor Netty 0.9.13.RELEASE,因此您可以通过升级到 Spring Boot 2.3.5 或更高版本来解决问题。

鉴于您使用的是 2021 年 4 月发布的 Spring Cloud Hoxton.SR11,我建议升级到类似的最新 Spring Boot 2.3.x 版本。 2.3.11.RELEASE 是撰写本文时的最新可用版本。

【讨论】:

    猜你喜欢
    • 2014-07-29
    • 2020-04-23
    • 2020-02-28
    • 2019-01-25
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    • 2010-10-10
    相关资源
    最近更新 更多