spring 云ConsulRibbonClientConfiguration异常
spring cloud ConsulRibbonClientConfiguration exception
当我尝试使用 spring 云领事时,我在休息呼叫期间尝试自动装配 Ribbon 客户端时收到此错误:
"Error creating bean with name 'consulRibbonClientConfiguration': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken"
其他时候我会得到这个错误:
创建名称为 'consulRibbonClientConfiguration' 的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: 无法初始化 class com.netflix.client.config.CommonClientConfigKey
在我开始尝试使用我自己的配置 classes 之前,我已经完成了这项工作。现在,根据我 运行 它在哪个系统上,我会得到略有不同的错误,如上面的错误,其中 consul ribbon 客户端配置无法实例化自身。对这个问题的任何煽动都会有所帮助
配置 class 看起来像:
@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>
这个问题似乎是由 maven 文件中的冗余和不匹配的依赖项引起的。这些似乎与 Ribbon 无关,但我想这在 Ribbon 尝试初始化时以某种方式级联了这个问题。
对于未来的读者,我删除的冗余库包括:spring-tx、hadoop-common 和 javax.validation,所有这些都需要删除才能解决此错误。
当我尝试使用 spring 云领事时,我在休息呼叫期间尝试自动装配 Ribbon 客户端时收到此错误:
"Error creating bean with name 'consulRibbonClientConfiguration': Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: com/google/common/reflect/TypeToken"
其他时候我会得到这个错误: 创建名称为 'consulRibbonClientConfiguration' 的 bean 时出错:调用 init 方法失败;嵌套异常是 java.lang.NoClassDefFoundError: 无法初始化 class com.netflix.client.config.CommonClientConfigKey
在我开始尝试使用我自己的配置 classes 之前,我已经完成了这项工作。现在,根据我 运行 它在哪个系统上,我会得到略有不同的错误,如上面的错误,其中 consul ribbon 客户端配置无法实例化自身。对这个问题的任何煽动都会有所帮助
配置 class 看起来像:
@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>
这个问题似乎是由 maven 文件中的冗余和不匹配的依赖项引起的。这些似乎与 Ribbon 无关,但我想这在 Ribbon 尝试初始化时以某种方式级联了这个问题。
对于未来的读者,我删除的冗余库包括:spring-tx、hadoop-common 和 javax.validation,所有这些都需要删除才能解决此错误。