【问题标题】:Getting java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder after updating spring cloud version to Brixton.SR6获取 java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder 更新 Spring Cloud 版本到 Brixton.SR6 后
【发布时间】:2020-09-06 11:00:16
【问题描述】:

我正在研究 Spring Boot 和云配置。我想使用 spring 功能区,因此在更新 Brixton.SR6 后开始出现以下异常:

java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.([Ljava/lang/Object;)V 在 org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:120) 在 org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:84) 在 org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:62) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) 在 org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127) 在 org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:80) 在 org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53) 在 org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:308) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) 在 org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) 在 com.areef.microservices.currencyconversionservice.CurrencyConversionServiceApplication.main(CurrencyConversionServiceApplication.java:12) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:498) 在 org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)

下面是我的 pom 配置:

https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 org.springframework.boot spring-boot-starter-parent 2.3.0.发布 com.areef.microservices 货币兑换服务 0.0.1-快照 货币兑换服务 Spring Boot 演示项目

<properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>Brixton.SR6</spring-cloud.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-config</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-feign</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
</dependencies>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>${spring-cloud.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

这是我的 pom 文件

【问题讨论】:

  • Spring Cloud Brixton 适用于 Spring Boot 1.3(可能适用于 1.4)。您正在使用 Spring CLoud Brixton 未设计/构建的 Spring Boot 2.3。
  • 您能否建议 2.3.0.RELEASE 支持的正确版本的 Spring Cloud,我需要使用 Ribbon 负载均衡器和 spring-cloud-starter-feign。
  • 官方还没有针对 Spring Boot 2.3 的 Spring Cloud 版本。你可以试试最新的 release train(或者干脆不使用 Spring Boot 2.3)。
  • Brixton 已经很久没有被支持了。带有官方 Spring Boot 2.3 支持的 Hoxton.SR5 将于本月推出。

标签: spring spring-boot spring-cloud


【解决方案1】:

我今天偶然发现了完全相同的问题。我的 Spring Boot 版本是 2.1.5.RELEASE。按照上面的建议尝试了最新的 Spring Cloud 发布火车,但没有帮助......

【讨论】:

  • 这个组合对我有用:Spring Boot 2.1.5.RELEASE 和 Spring Cloud Greenwich.RELEASE
猜你喜欢
  • 2019-12-16
  • 2021-11-06
  • 2021-04-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-30
相关资源
最近更新 更多