설치 가이드
ElastiCORE 설치 및 개발 환경 설정 방법을 단계별로 안내합니다.
시스템 요구 사항
필수
- Java 11 이상 ☕ (권장: JDK 17+)
- Gradle 7.x 이상 또는 Maven 3.6+ 🏗️
- Spring Boot: 3.x
권장
- Java 17 이상
- Gradle 8.x 이상
- Spring Boot 3.4 이상
설치
방법 1: Gradle 설정 (권장)
1. 프로젝트 생성
mkdir my-elasticore-project
cd my-elasticore-project
gradle init --type java-application
2. build.gradle 설정
build.gradle
import org.gradle.api.tasks.JavaExec
import org.gradle.jvm.toolchain.JavaLanguageVersion
plugins {
id 'java'
id 'org.springframework.boot' version '3.5.0'
id 'io.spring.dependency-management' version '1.1.7'
}
group = 'com.example.myproject'
version = '0.0.1-SNAPSHOT'
java {
toolchain {
languageVersion = JavaLanguageVersion.of(17)
}
}
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
maven { url 'https://repo.spring.io/release' }
// ElastiCORE 저장소 - 저장소 URL은 ElastiCORE 담당자에게 문의하세요.
// maven { url 'https://your-elasticore-repo-url' }
}
ext {
set('elcoreVersion', '1.8.250922-SNAPSHOT')
}
dependencies {
// Spring Boot
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-validation'
// ElastiCORE
implementation "io.elasticore:elasticore-base:${elcoreVersion}"
implementation "io.elasticore.springboot3:elasticore-springboot3:${elcoreVersion}"
// 데이터베이스 (개발용 H2)
runtimeOnly 'com.h2database:h2'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// 테스트
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
// ElastiCORE 코드 생성 태스크
tasks.register('elcore', JavaExec) {
compileJava.enabled = false
classpath = sourceSets.main.runtimeClasspath
mainClass = 'io.elasticore.base.extract.ModelExtractor'
standardInput = System.in
doFirst {
def mode = "default"
project.gradle.startParameter.taskNames.each { taskName ->
if (taskName != "elcore") mode = taskName
}
jvmArgs = ['-Dfile.encoding=UTF-8', "-Dmode=${mode}"]
args "$projectDir/src/main/java"
}
}
gradle.taskGraph.whenReady { taskGraph ->
if (taskGraph.hasTask(elcore)) {
compileJava.enabled = false
} else {
compileJava.enabled = true
}
}
tasks.named('test') {
useJUnitPlatform()
}