#java #spring-boot #microservices #spring-cloud #netflix-eureka
#java #весенняя загрузка #микросервисы #spring-облако #netflix-eureka
Вопрос:
Я запускаю оба приложения, но сервер eureka не регистрирует приложение-службу. Я использую Spring boot 2.1.4. Версия выпуска. Это мои зависимости в приложении-службе:
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
И приложение.yml-файл:
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka/
spring:
application:
name: test1
server:
port: 2222
Зависимости приложений сервера Eureka:
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Greenwich.SR1</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Все имена и URL-адреса верны, и я понятия не имею, почему это не работает. Кто-нибудь может помочь мне с моей проблемой?
Комментарии:
1. Используете ли вы контейнер Docker? Сервер Eureka работает на контейнере или удаленном хосте?
2. Я не использую docker. Я запускаю все приложения локально на своем компьютере.
Ответ №1:
Да, предыдущее имя зависимости, которое вы использовали, поддерживалось только до версии 1.4.6 (Edgware release train). В будущем самый простой способ сгенерировать pom приложения Spring Boot, чтобы обеспечить соответствие версий зависимостей, — это сделать это по адресу https://start.spring.io / .
Ответ №2:
Проблема исчезла, когда я изменил предыдущие зависимости для этого:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>