java.lang.ClassNotFoundException:org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClientAutoConfig

java.lang.ClassNotFoundException:org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClientAutoConfig,java,spring,spring-boot,spring-cloud-config,Java,Spring,Spring Boot,Spring Cloud Config,我正在尝试设置spring云配置客户端这是我的pom依赖项: <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> <version>2.1.5.RELEASE</version> </dependency>

我正在尝试设置spring云配置客户端这是我的pom依赖项:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
    <version>2.1.5.RELEASE</version>
</dependency>
我得到了一个例外:

java.lang.IllegalArgumentException: Could not find class [org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClientAutoConfiguration]
    at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:327)
    at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:483)
    at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:403)
    at org.springframework.core.annotation.TypeMappedAnnotation.asMap(TypeMappedAnnotation.java:288)
    at org.springframework.core.annotation.AbstractMergedAnnotation.asAnnotationAttributes(AbstractMergedAnnotation.java:193)
    at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes(AnnotatedTypeMetadata.java:106)
    at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor(AnnotationConfigUtils.java:285)
    at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:100)
    at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:79)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.registerBeanDefinitionForImportedConfigurationClass(ConfigurationClassBeanDefinitionReader.java:160)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:141)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:337)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:242)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)

我怎样才能解决这个问题?我在谷歌上搜索发现SimpleReactiveDiscoveryClientAutoConfiguration.java是SpringCloudCommons的一部分,从2.2.0开始,现在只有RC: 当我添加SpringCloudCommons 2.2.0时,它起到了作用,但是有没有办法不用RC就能让它起作用呢

我使用spring boot 2.2.1.RELEASE,spring cloud starter config 2.1.5.RELEASE

我也是spring的新手(来自前端/JavaScript背景),所以在Java世界中有很多东西对我来说都很奇怪和复杂

我做了一些挖掘,发现了一些可能有助于详细解释的链接:

基本上(我是怎么理解的;我可能错了),SpringCloud在SpringBoot之上工作;它不是spring启动组/项目的常规依赖项/部分。所以基本上,它需要(所谓的)依赖关系管理

将此添加到pom.xml中(这对我来说很有用):


org.springframework.cloud
SpringCloudStarter父级
格林威治释放
聚甲醛
进口
用于将项目设置为父应用程序。如果不起作用,请尝试以下方法:


org.springframework.cloud
spring云依赖关系
${spring cloud.version}
聚甲醛
进口
在这种方法中,我猜这是为了决定pom中spring云依赖项使用哪个版本。对于这一个,确保
properties
元素添加了SpringCloud版本(这就是
${springcloud.version}
将要引用的内容):


1.8
Hoxton.SR8

同样,第一种方法对我有效。有关更多信息,请参阅链接。找到更多的信息和文档比我想象的要困难。

这样的错误通常来自混合不兼容的框架版本。@M.Deinum i edit post和添加的版本详细信息。恐怕Spring Boot 2.2还没有最终的Spring Cloud版本。霍克斯顿释放系列适用于弹簧靴2.2。所以要么使用Hoxton版本,要么暂时使用RC版本(它是RC2,所以发行版应该就在眼前)。或者将Spring Boot 2.1与兼容的Spring Cloud Greenwich版本(SR4)一起移动。另外,请使用Spring Cloud BOM,而不是单独的启动器/罐子版本,因为这将导致某些地方的损坏。
java.lang.IllegalArgumentException: Could not find class [org.springframework.cloud.client.discovery.composite.reactive.ReactiveCompositeDiscoveryClientAutoConfiguration]
    at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:327)
    at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:483)
    at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:403)
    at org.springframework.core.annotation.TypeMappedAnnotation.asMap(TypeMappedAnnotation.java:288)
    at org.springframework.core.annotation.AbstractMergedAnnotation.asAnnotationAttributes(AbstractMergedAnnotation.java:193)
    at org.springframework.core.type.AnnotatedTypeMetadata.getAnnotationAttributes(AnnotatedTypeMetadata.java:106)
    at org.springframework.context.annotation.AnnotationConfigUtils.attributesFor(AnnotationConfigUtils.java:285)
    at org.springframework.context.annotation.AnnotationBeanNameGenerator.determineBeanNameFromAnnotation(AnnotationBeanNameGenerator.java:100)
    at org.springframework.context.annotation.AnnotationBeanNameGenerator.generateBeanName(AnnotationBeanNameGenerator.java:79)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.registerBeanDefinitionForImportedConfigurationClass(ConfigurationClassBeanDefinitionReader.java:160)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:141)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:337)
    at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:242)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
    at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
    at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:706)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:532)
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141)