Совместимая весенняя версия Eureka

#spring-boot #maven #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>
 

Я получаю ошибку belwo

орг.пружинная конструкция.фасоль.фабрика.Исключение BeanCreationException: Ошибка при создании компонента с именем «configurationPropertiesBeans», определенным в ресурсе пути к классу [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]: Постобработка определения объединенного компонента не удалась; вложенное исключение-java.lang.Исключение IllegalStateException: Не удалось выполнить самоанализ класса [org.springframework.cloud.контекст.свойства.ConfigurationPropertiesBeans] из загрузчика классов [sun.разное.Лаунчер$AppClassLoader@659e0bfd]

Комментарии:

1. Никогда не добавляйте версию в подпроекты spring cloud.

2. @Tristate хорошо, но почему?

3. В противном случае вы рискуете выбрать несовместимые версии. Модули автоматически получают правильные версии от родителя.

Ответ №1:

Вам следует добавить Spring Cloud 2020.0.3, совместимый с Spring Boot 2.5.x, включив спецификацию в свой 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>
 

Вы можете найти обзор совместимости Spring Cloud / Spring Boot на веб-сайте Spring Cloud (см. таблицу Совместимости Spring Boot с выпуском).

Как только это будет добавлено, вам не нужно будет ориентироваться на конкретную версию Spring Cloud Eureka. Вместо этого вы можете включить зависимость Eureka следующим образом:

 <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
 

Комментарии:

1. .Да, я сгенерировал то же самое pom.xml от весеннего инициализатора . Но как только я добавлю dependecyManagement тег. я получаю две ошибки синтаксического анализа pom.xml Project build error: Non-parseable POM C:Users.m2repositoryiozipkinbravebrave-bom5.13.2brave-bom-5.13.2.pom: start tag not allowed in epilog but got p (position: END_TAG seen ...verning permissions and limitations undern the License.nn-->n<p... @341:3)

2. Сейчас это работает. Я удалил рабочее пространство и снова импортировал проект. Спасибо