Java – Spring应用程序中Eureka运行状况检查的问题

我正在开发一个基于
Spring的应用程序,它由几个微服务组成.我的一个微服务充当了Eureka服务器,到目前为止一切正常.

在我所有的其他微服务(使用@EnableEurekaClient注释)中,我想启用如下的健康检查:

application.yml

eureka:
  client:
    healthcheck:
      enabled: true

我注意到的第一件事是我的IDE显示错误:

Cannot resolve configuration property ‘eureka.client.healthcheck.enabled’

在Intellij Idea和STS都会发生这种情况,因此我认为它不仅仅是一个IDE错误!

应用程序的启动失败,出现一个长的UnsatisfiedDependencyException,其根本原因如下:

Caused by: java.lang.ClassNotFoundException: org.springframework.boot.actuate.health.OrderedHealthAggregator
at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_151]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_151]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335) ~[na:1.8.0_151]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_151]
… 87 common frames omitted

如果我将compile(‘org.springframework.boot:spring-boot-starter-actuator’)添加到我的build.gradle文件中(我假设,这是错误消息想要告诉我的内容),它编译并启动正常.但是,IDE仍然显示上面的错误.

我的问题如下:

1.如果想要使用尤里卡健康检查,致动器需要在类路径上的预期行为吗?

2.为什么我从IDE获取错误消息?

感谢帮助!

最佳答案 我遇到了同样的问题,然而,当我添加的时候,每件事都有效

编译(“org.springframework.boot:弹簧引导起动致动器”)

并且错误消息消失了,我的推荐是以下内容:

1-始终确保所有微服务共享相同的弹簧启动版本
2-使用Spring Initializr https://start.spring.io/
3-使用最新的稳定版本

点赞