개발/Spring

[Spring] eureka discovery 서버에 eureka client 등록이 되지 않을 때

hojak99 2019. 1. 17. 01:50

eureka disconvery servcer 에 eureka client 가 등록이 되지 않을 때 방법이다. eureka client 의 application.yml 은 다음과 같다. 참고로 꼭 spring.application.name 은 등록해줘야 한다.

spring:
  application:
    name: oauth-api

eureka:
  client:
    serviceUrl:
      defaultZone: ${EUREKA_SERVICE_URL:http://localhost:8761/eureka}
  instance:
    preferIpAddress: true

  1. eureka client 서버의 Main 클래스에 @EnableEurekaClient 달아줬는지 확인.

이렇게 @EnableEurekaClient 어노테이션을 달아줘야 클라이언트 등록이 된다. 이것만 달아줘도 아마 대부분 등록이 될 것이다.


추가적으로 @EnableEurekaClient 가 자동완성 기능으로 뜨지 않을 때가 있다. 즉 dependency 를 받지 못한 것.

아래의 build.gradle 을 참고해 Refresh Gradle 버튼을 눌러 새로고침 해주자.

...

repositories {
    mavenCentral()
    // 추가
    maven { url 'https://repo.spring.io/milestone' }
}


// 추가
ext {
    set('springCloudVersion', 'Greenwich.RC2')
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'   // 추가 

    runtimeOnly 'com.h2database:h2'
    compileOnly 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    testImplementation 'org.springframework.security:spring-security-test'
}

// 추가
dependencyManagement {
    imports {
        mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
    }
}

성공~

반응형