시작하며
프로젝트를 개발하다 보면 코드가 점점 많아지고, 여러 기능을 따로 관리해야 할 일이 많아지죠. 그럴 때 Gradle 멀티 모듈 프로젝트를 활용하면 코드 관리가 훨씬 편리해집니다! 오늘은 Gradle을 이용해 멀티 모듈 Java 프로젝트를 쉽게 만들고 설정하는 방법을 차근차근 알아볼게요.
Gradle 6.6 이후 버전에서는 멀티 모듈 프로젝트 구성이 한결 간편해졌어요. 개발 경험이 많든 적든, 이 가이드를 따라가면 멀티 모듈 Gradle 프로젝트의 개념과 실전 활용법을 자연스럽게 익힐 수 있을 거예요.
왜 멀티 모듈 Gradle 프로젝트를 써야 할까?
멀티 모듈 프로젝트가 왜 좋을까요? 간단히 장점을 살펴볼게요.
멀티 모듈이 좋은 이유
- 코드 관리가 쉬워요 – 기능별로 모듈을 나누면 코드가 깔끔해지고 유지보수가 편해져요.
- 재사용성이 높아요 – 데이터 처리나 서비스 로직을 다른 프로젝트에서도 활용할 수 있어요.
- 빌드 속도가 빨라요 – 수정된 모듈만 다시 빌드하면 되니까 시간이 절약돼요.
- 유지보수가 편리해요 – 역할별로 코드가 나뉘어 있어서 변경 사항을 적용하기 쉬워요.
그럼 Gradle을 이용해 멀티 모듈 프로젝트를 단계별로 만들어볼까요?
1단계: 프로젝트 만들기
프로젝트 폴더 생성하기
먼저 프로젝트를 저장할 디렉터리로 이동해서 새 폴더를 만들어 주세요. 이번 예제에서는 CouponApp
이라는 이름을 사용할게요.
mkdir CouponApp
cd CouponApp
이 프로젝트는 네 개의 주요 계층을 가질 예정이에요.
- 웹(Web) 계층 – 사용자의 요청을 처리하는 부분
- 서비스(Services) 계층 – 핵심 비즈니스 로직이 들어가는 곳
- 데이터(Data) 계층 – 데이터베이스 관련 작업 담당
- 통합(Integration) 계층 – 외부 API와의 연동을 담당
Gradle 프로젝트를 초기화하려면 다음 명령어를 실행하세요.
gradle init
프롬프트가 뜨면 다음 옵션을 선택하면 됩니다.
- 애플리케이션 (Option 2)
- Java (Option 3)
- 단일 프로젝트 (Option 1)
- Groovy (Option 1)
- JUnit 선택 – 그냥 Enter 키 누르기
이제 기본적으로 app
이라는 단일 모듈이 생성될 거예요. 하지만 우리는 이를 멀티 모듈 프로젝트로 바꿔볼 겁니다.
2단계: 기본 프로젝트 구조 살펴보기
초기화 후 폴더 구조는 다음과 같아요.
CouponApp/
│── app/
│ ├── src/
│ ├── build.gradle
│── settings.gradle
│── build.gradle
Gradle 6.6+에서 달라진 점
이전에는 프로젝트를 만들면 기본 모듈이 자동 생성되지 않았고, settings.gradle
파일도 직접 만들어야 했어요. 하지만 이제는 Gradle이 자동으로 단일 모듈 프로젝트를 생성해 주니까 훨씬 간편해졌죠!
3단계: 모듈 이름 변경하고 추가하기
Gradle은 기본적으로 app
이라는 모듈을 만들어요. 하지만 우리는 이를 services
로 변경하고, data
, integration
, web
모듈을 추가할 거예요.
기본 모듈 이름 변경하기
settings.gradle
파일을 열고 app
을 services
로 변경하세요.
rootProject.name = 'CouponApp'
include 'services'
새 모듈 추가하기
터미널에서 다음 명령어를 입력해 새로운 폴더를 만들어 주세요.
mkdir data
mkdir integration
mkdir web
이제 services
모듈의 구조를 복사해서 새 폴더에 넣고, settings.gradle
파일도 업데이트하세요.
include 'services', 'data', 'integration', 'web'
4단계: 모듈별 설정 파일 만들기
각 모듈에는 개별 build.gradle
파일이 필요해요. 아래는 예제 설정입니다.
services/build.gradle
plugins {
id 'java'
}
dependencies {
implementation project(':data')
implementation project(':integration')
}
data/build.gradle
plugins {
id 'java'
}
integration/build.gradle
plugins {
id 'java'
}
web/build.gradle
plugins {
id 'java'
}
dependencies {
implementation project(':services')
}
이제 모든 모듈이 연결되었습니다!
5단계: 프로젝트 빌드하고 실행하기
전체 프로젝트 빌드하기
루트 디렉터리에서 다음 명령어를 실행하면 됩니다.
gradle build
Gradle이 모든 모듈을 빌드하고, 각 모듈의 build
폴더에 결과를 저장할 거예요.
빌드 정리하기
컴파일된 파일을 삭제하고 다시 새로 빌드하려면 다음 명령어를 입력하세요.
gradle clean
'SW > Gradle' 카테고리의 다른 글
Gradle: subproject 빌드 로직 한 번에 정리, 예제, 방법 (0) | 2025.02.18 |
---|---|
Gradle: Multi-Module Project에서 Task 활용 방법, 예제 (0) | 2025.02.17 |
Gradle: 쉽고 재밌게 배우는 멀티 모듈 Gradle 프로젝트 (0) | 2025.02.15 |
Gradle: 다중 모듈(Java) 애플리케이션 만들기 : 예제, 방법 (0) | 2025.02.14 |
Gradle: Gretty 플러그인 : 활용, 사용 방법, 예제, 개념, 설명 (1) | 2025.01.22 |