Gradle Multi Module

chani·2022년 6월 14일

멀티 모듈

독립적인 프로젝트들을 하나로 묶어 사용되는 구조로,
공통적으로 사용되는 기능을 작성하여 멀티 모듈 내의 프로젝트 모두에 적용 가능합니다.

Test Project

Spring Boot Project로 최상위 프로젝트에
Spring Boot Web 프로젝트를 모듈로 추가 후
bootRun시 모듈 프로젝트가 동작하도록 설정

Root Project Gradle

plugins {
	id 'org.springframework.boot' version '2.1.6.RELEASE'
	id 'java'
	id 'eclipse'
	id 'war'
}

apply plugin: 'io.spring.dependency-management'


bootRun.enabled = false
bootJar.enabled = false
bootWar.enabled = false

루트 프로젝트는 테스트 용으로 boot 설정만 추가하고 아무 동작 안하도록 설정

모듈 추가

프로젝트 우클릭 후 새 모듈 추가

하위 새 모듈 작성

모듈 프로젝트 Gradle

plugins {
    id 'org.springframework.boot' version '2.1.6.RELEASE'
    id 'java'
    id 'eclipse'
    id 'war'
}
apply plugin: 'io.spring.dependency-management'

bootRun {
    jvmArgs = ["-Djava.net.preferIPv4Stack=true"]
}


version = '0.0.1-SNAPSHOT'
sourceCompatibility = 1.8
targetCompatibility = 1.8

repositories {
    mavenCentral()
}

springBoot {
    mainClassName = "프로젝트 main class"
}

repositories {
    mavenCentral()
    mavenLocal()
}
dependencies {
  ....
}

해당 Project의 build.gradle 설정 작성

Root Project settings.gradle

// Root Project
rootProject.name = 'root'
// 하위 모듈 Project
include 'test'

모듈 프로젝트 등록

Run

./gradlew bootRun --args='--spring.profiles.active=dev'

profile
개발자

0개의 댓글