【发布时间】:2021-03-10 18:01:33
【问题描述】:
我目前正在 Spring Boot 和 GCP 数据存储 中进行一些概念验证工作。
我的pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-gcp-data-datastore</artifactId>
<version>1.2.6.RELEASE</version>
</dependency>
问题:Spring Boot 无法启动
当我尝试启动应用程序时,我得到:
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/metrics/ApplicationStartup
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:251)
at org.springframework.boot.SpringApplication.<init>(SpringApplication.java:264)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1309)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1298)
我尝试了什么
我尝试添加 Actuator 依赖项。
但这并没有奏效。
我无法弄清楚我缺少什么依赖项。我在 5.3.0-M2 文档中看到了类定义 here,但我不确定它存在于什么依赖项中。
我还尝试添加以下指标依赖项:
- spring-cloud-gcp-starter-metrics
- 弹簧指标
- spring-cloud-stream-metrics
我在findjar.com 中搜索但没有运气。
如果可能的话,我也不介意禁用它。
更新:
我补充说:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.3.1</version>
</dependency>
这给了我一个新错误:
试图调用一个不存在的方法。尝试 是从以下位置制作的:
org.springframework.boot.SpringApplication.run(SpringApplication.java:324)以下方法不存在:
'void org.springframework.context.ConfigurableApplicationContext.setApplicationStartup(org.springframework.core.metrics.ApplicationStartup)'方法的类, org.springframework.context.ConfigurableApplicationContext,是 可从以下位置获得:
... 行动:
更正应用程序的类路径,使其包含 单一的,兼容的版本 org.springframework.context.ConfigurableApplicationContext
【问题讨论】:
-
你引入了对
org.springframework.spring.context的依赖了吗? (关于第二个错误)
标签: spring-boot dependencies pom.xml noclassdeffounderror