兼容 Spring Eureka 版本

hel*_*rld 0 maven spring-boot spring-cloud netflix-eureka spring-cloud-netflix

我在 pom.xml 上使用下面的内容,但由于错误我无法启动应用程序我不想降级 spring boot starter 父版本。有什么解决方案吗?

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
    </parent>


<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
            <version>2.2.9.RELEASE</version>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

我收到以下错误

org.springframework.beans.factory.BeanCreationException:创建在类路径资源[org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]中定义的名为“configurationPropertiesBeans”的bean时出错:合并bean定义的后处理失败;嵌套异常是 java.lang.IllegalStateException:无法从 ClassLoader [sun.misc.Launcher$AppClassLoader@659e0bfd] 内省类 [org.springframework.cloud.context.properties.ConfigurationPropertiesBeans]

Gre*_*ski 5

您应该通过在您的部分中包含 BOM 来添加与 Spring Boot 2.5.x 兼容的 Spring Cloud 2020.0.3 dependencyManagement

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>2020.0.3</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

您可以在Spring Cloud 网站上找到 Spring Cloud / Spring Boot 兼容性的概述(请参阅表Release train Spring Boot 兼容性)。

添加后,您无需针对特定版本的 Spring Cloud Eureka。相反,您可以包含 Eureka 依赖项,如下所示:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
Run Code Online (Sandbox Code Playgroud)