2

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

运行应用程序时收到以下错误消息:

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}"
    }
}
4

2 回答 2

4

我相信您还应该指定依赖项的版本

implementation group: 'org.springframework.cloud', name: 'spring-cloud-starter-netflix-hystrix', version: '2.2.7.RELEASE'
于 2021-03-24T20:27:27.663 回答
1

我有同样的问题,并找到了这个官方链接,他们说:

正如所宣布的,以下模块已从 spring-cloud-netflix 中删除:

  • ...
  • spring-cloud-netflix-hystrix
  • spring-cloud-starter-netflix-hystrix
  • ...(其他一些 spring-cloud-netflix-* 子项目)

所以看起来 Hystrix 依赖将不再由 spring-cloud-release 管理。这就是您必须手动指定版本的原因。无论如何,这并不意味着 Spring Hystrix 已经/将被弃用,但我还不知道那部分......

我现在正在回答这个问题,因为我在挖掘了很多之后找到了它,并且不希望任何人再次这样做。

于 2021-07-21T19:52:40.603 回答