Spring 云 Netflix-Hystrix gradle 依赖项不允许 spring 引导应用程序启动

Spring cloud Netflix-Hystrix gradle dependency not allowing spring boot application to start

我使用 Spring-BootEureka server 构建了简单的微服务应用程序。现在,我想添加容错,以防在 Eureka 服务器中注册的任何服务出现故障。所以,我使用了 netflix-hystrix gradle 依赖项。但是这种依赖性导致我的应用程序崩溃。

当 运行 应用程序时,我收到以下 错误消息

Execution failed for task ':compileJava'. Could not resolve all files for configuration ':compileClasspath'. Could not find org.springframework.cloud:spring-cloud-starter-netflix-hystrix:.

为了参考,我添加了 build.gradle 文件的片段。

plugins {
    id 'org.springframework.boot' version '2.4.4'
}

ext {
    set('springCloudVersion', "2020.0.2")
}

dependencies {
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-hystrix'
}

dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

我相信你还应该指定依赖的 version:

implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix', version: '2.2.7.RELEASE'

我遇到了同样的问题,发现这个官方 link 他们说:

As announced, the following modules have been removed from spring-cloud-netflix:

  • ...
  • spring-cloud-netflix-hystrix
  • spring-cloud-starter-netflix-hystrix
  • ... (some other spring-cloud-netflix-* subprojects)

因此看来 Hystrix 依赖项将不再由 spring-cloud-release 管理。这就是为什么你必须手动指定版本。 无论如何,这并不意味着 Spring Hystrix is/will 被弃用,但我还不知道那部分......

我现在回答这个问题是因为我在深入挖掘后发现它并且不希望任何人再次这样做。