【问题标题】:spring cloud ConsulRibbonClientConfiguration exceptionspring cloud ConsulRibbonClientConfiguration 异常
【发布时间】:2016-07-25 21:25:29
【问题描述】:

在尝试使用 spring cloud consul 时,当我尝试在休息呼叫期间自动连接 Ribbon 客户端时收到此错误:

“创建名为 'consulRibbonClientConfiguration' 的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken”

其他时候我会收到此错误: 创建名为“consulRibbonClientConfiguration”的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: 无法初始化类 com.netflix.client.config.CommonClientConfigKey

在我开始尝试使用我自己的配置类之前,我已经完成了这项工作。现在,根据我在哪个系统上运行它,我会遇到稍微不同的错误,例如上面的 consul 功能区客户端配置无法实例化自身。对此问题的任何煽动都会有所帮助

配置类如下:

@Profile("!unit-test")
@EnableDiscoveryClient
@ImportResource("classpath:/hadoopContext.xml")
@Configuration
@EnableAutoConfiguration
public class XXXConfiguration..

主要是: @SpringBootApplication

public class Main {

    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }

}

pom 正在使用:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-consul-all</artifactId>
    <version>1.0.0.M3</version>
</dependency>

【问题讨论】:

  • 你可以试试最新版本的 1.0.0.RC1 吗?
  • 我没有尝试使用最新的候选版本,但考虑到我在当前版本的早期版本中使用了这个,我认为这不是一个可能的候选版本。不过还是谢谢你的建议。

标签: spring spring-cloud consul


【解决方案1】:

这个问题似乎是由 maven 文件中的冗余和不匹配的依赖项引起的。这些似乎与功能区无关,但我想当功能区尝试初始化时,这会以某种方式级联问题。

对于未来的读者,我删除的冗余库包括:spring-tx、hadoop-common 和 javax.validation,所有这些都需要删除才能克服此错误。

【讨论】:

    猜你喜欢
    • 2019-02-15
    • 2019-12-27
    • 1970-01-01
    • 2021-05-27
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多