Spring Boot Framework
[Spring Cloud Netflix] Eureka Server 샘플
헤르메스의날개
2024. 3. 10. 23:13
728x90
https://github.com/hermeswing/EureakServer
개발환경
JDK : Zulu JDK 17.0.10
SpringBoot 3.2.3
SpringBoot Eureka Server ( 현재 최신 버전 :4.1.0 )
Build Tools : Gradle
1. 프로젝트 생성
2. Eureka Server
- 아래의 소스가 전부 입니다. ( 의외로 엄청 간단합니다. )
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'octopus'
version = '0.0.1-SNAPSHOT'
java {
sourceCompatibility = '17'
}
repositories {
mavenCentral()
}
ext {
set('springCloudVersion', "2023.0.0")
}
dependencies {
implementation 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-server'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
dependencyManagement {
imports {
mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
}
}
tasks.named('test') {
useJUnitPlatform()
}
EurekaServerApplication.java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
@SpringBootApplication
@EnableEurekaServer // 스프링 서비스에서 유레카 서버 활성화
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
application.yml
# 유레카 서버 Port
server:
port: 8761
spring:
application:
name: discovery-service
# eureka 설정
eureka:
client:
register-with-eureka: false # eureka server에 자신을 등록하지 않음. registry에 등록할지 여부. false로 하지 않으면 자기 자신을 클라이언트로 등록함
fetch-registry: false # 레지스트리 정보를 로컬에 캐싱하지 않음. registry에 있는 정보들을 가져올지 여부
3. 실행
4. Gradle Jar 빌드
- /build/libs 폴더에 Jar 파일이 생성됩니다.
IntelliJ 에서의 빌드 ( Tasks > build > bootJar )
Linux 에서의 빌드
$ source ./gradlew bootJar
$ . ./gradlew bootJar
5. jar 실행
# java -jar -Dserver.port=9001 [jar 파일경로]/[jar파일]
$ java -jar -Dserver.port=9001 ./build/libs/EurekaServer-0.0.1-SNAPSHOT.jar
# Java version 오류
$ java -jar EurekaServer-0.0.1-SNAPSHOT.jar
Error: LinkageError occurred while loading main class org.springframework.boot.loader.launch.JarLauncher
java.lang.UnsupportedClassVersionError: org/springframework/boot/loader/launch/JarLauncher has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
https://hermeslog.tistory.com/742
https://sjparkk-dev1og.tistory.com/153
https://hermeslog.tistory.com/756
728x90