Programming/Springboot

[SPRINGBOOT] 멀티 모듈 설정하기

멍쟈뽀쨕 2025. 3. 4. 12:39

Spring 멀티 모듈이란?

Spring Framework로 하나의 서비스를 구현하는데 있어
각자의 기능이 나뉜 여러대의 서버로 구성하는 것이다.

 

루트 모듈 설정

/src 폴더 삭제

필요가 없다.

build.gradle 수정

subprojects {
    compileJava {
        sourceCompatibility=17
        targetCompatibility=17

    apply plugin: 'java'
    apply plugin: 'java-library'
    apply plugin: 'org.springframework.boot'
    apply plugin: 'io.spring.dependency-management'
    }

    dependencies {
        implementation 'org.springframework.boot:spring-boot-starter-web'
        compileOnly 'org.projectlombok:lombok'
        annotationProcessor 'org.projectlombok:lombok'
        testImplementation 'org.springframework.boot:spring-boot-starter-test'
        testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
    }
}

루트 프로젝트 아래 모든 프로젝트에 subprojects안에있는 설정이 반영된다.

settings.gradle에 추가

rootProject.name = 'ymulti'


include '[하위 모듈 이름1]'
include '[하위 모듈 이름2]'
include '[하위 모듈 이름3]'
...

하위 모듈 설정

/src, build.gradle 제외하고 전부 삭제

필요가 없다. 오히려 설정 충돌난다.

build.gradle도 지우기

group = 'com.example.boardcommandservice'
version = '0.0.1-SNAPSHOT'

repositories {
    mavenCentral()
}

dependencies {
}

얘네 빼고 다 지우자.

하위 모듈 unlink 하기

IntelliJ옆에 코끼리 눌러서 root 프로젝트와 같은 계층에 있는 하위 모듈들을 unlink해주자.

그리고 gradle 리로드.하기