我正在编写简单的应用程序来熟悉 Spring Batch。我想学习 Spring Batch admin,但我发现它已被弃用,所以我必须使用 Spring Cloud Data Flow 来代替。
我找到了有关 Spring Cloud 数据的教程并执行了第一步:
添加依赖项:
编译(“org.springframework.cloud:spring-cloud-starter-dataflow-server-local:1.7.4.RELEASE”)
并用附加注释标记了我的 Spring Boot 应用程序类:
@启用数据流服务器
现在我尝试使用 idea 运行它,但它打印:
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)
在大多数情况下,这要么是由于缺少依赖项,要么是由于较旧的 spring/spring boot 版本附带了依赖项。 检查您的 Maven 依赖关系树并搜索早于父启动器请求的版本的 spring-boot 依赖关系。可能
org.springframework.cloud:spring-cloud-starter-dataflow-server-local:1.7.4.RELEASE
带有旧版本,您需要排除它。