#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.xmlProject 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. Сейчас это работает. Я удалил рабочее пространство и снова импортировал проект. Спасибо