본문 바로가기
Server/🌱 Spring Boot (java)

[Gradle] 멀티-모듈 프로젝트에서 Gradle 설정

by 코딩하는 동현😎 2025. 1. 24.

Gradle을 활용한 멀티-서버 프로젝트에서는 여러 모듈 간 의존성 설정이 중요합니다. 이 글에서는 공통 모듈을 사용한 프로젝트 구조를 어떻게 설정하는지에 대해 다룹니다. 예시로, Roomie라는 프로젝트를 common, producer, consumer 모듈로 나누어 설명합니다.

 

1. 프로젝트 구조

프로젝트의 루트 디렉토리는 Roomie로 설정하고, 그 아래 common, producer, consumer 폴더를 만들어 각각의 역할에 맞는 기능을 구현합니다. common 모듈은 다른 모듈들이 공통적으로 사용할 기능들을 포함하며, producer와 consumer 모듈은 각각 생산자와 소비자 서버의 역할을 합니다.

Roomie/
├── common/
│   └── build.gradle
├── producer/
│   └── build.gradle
└── consumer/
    └── build.gradle
└── settings.gradle

2. settings.gradle 설정

Gradle 프로젝트에서는 settings.gradle 파일을 사용하여 여러 모듈을 하나의 프로젝트로 통합합니다. 루트 프로젝트에서 각 서브 프로젝트를 어떻게 포함할지 정의하는 부분입니다.

rootProject.name = 'Roomie'
include 'common'
include 'producer'
include 'consumer'
  • rootProject.name은 프로젝트의 이름을 설정합니다.
  • include는 해당 서브 프로젝트들을 포함하는 역할을 합니다.

3. build.gradle 설정

각 서브 프로젝트는 build.gradle 파일을 통해 필요한 의존성을 설정합니다. 여기서는 producer와 consumer 프로젝트가 common 모듈을 의존하도록 설정하는 방법을 설명합니다.

producer/build.gradle 예시

dependencies {
    // 의존성들
    implementation project(':common') // 공통 모듈 추가
}
application {
    mainClassName = 'server.producer.ProducerApplication'
}
tasks.test {
    useJUnitPlatform()
}

 

consumer/build.gradle 예시

consumer 모듈 역시 동일한 방식으로 common 모듈을 의존성에 추가합니다.

dependencies {
    // 의존성들
    implementation project(':common') // 공통 모듈 추가
}
application {
    mainClassName = 'server.producer.ProducerApplication'
}
tasks.test {
    useJUnitPlatform()
}

4. 멀티-모듈 프로젝트에서의 의존성 관리

위와 같은 설정을 통해 producer와 consumer 모듈은 common 모듈을 의존하게 되어, 공통 기능을 쉽게 공유할 수 있습니다.

Gradle의 project(':common')을 사용하여 각 모듈 간의 의존성을 명확하게 관리할 수 있습니다.

이러한 방식으로 Gradle을 설정하면, 멀티-서버 환경에서 효율적으로 의존성을 관리하고, 각 모듈을 독립적으로 개발하면서도 공통 기능을 손쉽게 공유할 수 있습니다.

 

Gradle을 사용한 멀티-서버 프로젝트 설정은 각 모듈 간의 의존성을 명확히 하고, 공통 모듈을 쉽게 공유할 수 있는 방법을 제공합니다. settings.gradle 파일을 통해 프로젝트 구조를 설정하고, build.gradle에서 의존성 추가를 통해 각 모듈을 연결하면, 관리가 용이한 멀티-모듈 프로젝트를 구축할 수 있습니다.

반응형

댓글