java - 处理程序调度失败;嵌套的异常是java.lang.NoSuchMethodError:io.netty.handler.ssl.SslProvider.isAlpnSupported

标签 java spring-boot maven spring-webflux reactor-netty

我想将Reactor-netty的版本从0.8.3.RELEASE升级到0.9.5.RELEASE。
这种依赖关系在spring-boot-starter-webflux(版本2.1.1.RELEASE)下。
当我尝试通过webflux击中任何api时,就会出现错误。使用0.8.3.RELEASE到0.8.10.RELEASE,它可以正常工作。

io.netty.handler.ssl.SslProvider.isAlpnSupported方法随附NoSuchMethodError

我使用postgres作为数据库。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>name1</groupId>
  <artifactId>name2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>name3</name>

  <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.1.1.RELEASE</version>
    <relativePath/>
  </parent>

  <properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
  </properties>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-actuator</artifactId>
      <exclusions>
        <exclusion>
          <groupId>com.fasterxml.jackson.datatype</groupId>
          <artifactId>jackson-datatype-jsr310</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
      <version>2.2.5.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.fasterxml.jackson.datatype</groupId>
          <artifactId>jackson-datatype-jsr310</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-log4j2</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.logging.log4j</groupId>
      <artifactId>log4j-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-devtools</artifactId>
      <optional>true</optional>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-webflux</artifactId>
      <exclusions>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty-codec-http</artifactId>
        </exclusion>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty-codec-http2</artifactId>
        </exclusion>
        <exclusion>
        <groupId>io.projectreactor.netty</groupId>
        <artifactId>reactor-netty</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
    <dependency>
      <groupId>org.projectreactor</groupId>
      <artifactId>reactor-spring</artifactId>
      <version>1.0.1.RELEASE</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.datatype</groupId>
      <artifactId>jackson-datatype-jsr310</artifactId>
      <version>2.10.3</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec-http</artifactId>
      <version>4.1.47.Final</version>
    </dependency>
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-codec-http2</artifactId>
      <version>4.1.47.Final</version>
    </dependency>
    <dependency>
      <groupId>io.projectreactor.netty</groupId>
      <artifactId>reactor-netty</artifactId>
      <version>0.9.5.RELEASE</version>
    </dependency>
  </dependencies>
</project>

最佳答案

缺少依赖项。在更高版本的Reactor-netty中,不建议使用isAlpnSupported方法。

将这些依赖项与reactor-netty 0.9.5一起添加。

    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-handler</artifactId>
      <version>4.1.47.Final</version>
    </dependency>
    <dependency>
      <groupId>io.projectreactor</groupId>
      <artifactId>reactor-core</artifactId>
      <version>3.3.1.RELEASE</version>
    </dependency>

关于java - 处理程序调度失败;嵌套的异常是java.lang.NoSuchMethodError:io.netty.handler.ssl.SslProvider.isAlpnSupported,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60846893/

相关文章:

java - 无法为 Storm-starter 示例构建 Storm

java - 如何在 Jenkins 中运行 Cucumber JVM 测试

java - 业务逻辑验证模式和建议

java - 如何解决 "java.io.IOException: error=12, Cannot allocate memory"调用 Runtime#exec()?

java - 在 Azure 应用服务上部署 Spring Boot jar

java - 带有 Maven 的 Eclipse 在依赖项目的类路径中包含测试类

java - 数据源拒绝建立连接,来自服务器 : "Too many connections" 的消息

java - 表中的值被覆盖 -PDFbox

java - 用于 rabbitmq 的 Spring Boot 可信包

spring - 为 spring boot 应用程序生成 war