【问题标题】:java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)Vjava.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
【发布时间】:2019-12-16 23:41:46
【问题描述】:

我正在编写简单的应用程序来熟悉 Spring Batch。我想学习 Spring Batch Admin,但我发现它已被弃用,所以我必须改用 Spring Cloud 数据流。

我找到了一个关于 Spring Cloud 数据的教程并做了第一步:

  1. 添加依赖:

    compile("org.springframework.cloud:spring-cloud-starter-dataflow-server-local:1.7.4.RELEASE")

  2. 并用additioanl annotaion标记了我的spring boot应用程序类:

    @EnableDataFlowServer

现在我正在尝试使用想法运行它,但它会打印:

10:24:09.590 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.NoSuchMethodError: org.springframework.boot.builder.SpringApplicationBuilder.<init>([Ljava/lang/Object;)V
    at org.springframework.cloud.bootstrap.BootstrapApplicationListener.bootstrapServiceContext(BootstrapApplicationListener.java:161)
    at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:102)
    at org.springframework.cloud.bootstrap.BootstrapApplicationListener.onApplicationEvent(BootstrapApplicationListener.java:68)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:127)
    at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:75)
    at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
    at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:340)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:304)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
    at spring.boot.hello.world.MyApplication.main(MyApplication.java:11)

【问题讨论】:

    标签: java spring-boot spring-cloud-dataflow


    【解决方案1】:

    在大多数情况下,这要么是由于缺少依赖项,要么是由于较旧的 spring/spring boot 版本附带的依赖项。 检查您的 Maven 依赖树并搜索比您的父启动器请求的版本更旧的 spring-boot 依赖项。可能org.springframework.cloud:spring-cloud-starter-dataflow-server-local:1.7.4.RELEASE 带有旧版本,您需要排除它。

    【讨论】:

    • BOM好像不包含spring cloud数据流的版本
    • 你用的是哪个版本的spring boot starter parent?
    • 我用的是 2.1.6.RELEASE
    猜你喜欢
    • 2019-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多