Сервер Eureka не регистрирует приложение-службу

#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>