티스토리 뷰
Gradle은 서브 프로젝트를 하나의 디렉토리로 관리하는 root & include 프로젝트 구성 기능을 제공한다.
이를 통해 하나의 Git / SVN Repository로 여러 동일 레벨의 Multi Project를 관리할 수 있다.
Gradle Include Project (settings.gradle)
본격적인 Pub/Sub 구조의 애플리케이션 개발에 앞서 Gradle Project의 settings.gradle을 활용한 include project 생성 방법에 대해 먼저 살펴보도록 하자.
1) Gradler Project 생성
2) build.gradle 수정
buildscript {
repositories {
mavenCentral()
}
}
3) settings.gradle 구성
rootProject.name = 'nrson-kafka-project'
include 'kafka-publisher'
include 'kafka-subscriber'
4) include에 포함할 gradle project 생성 후 root project 하위로 복사
> kafka-publisher / kafka-subscriber project 생성
> delete project (Do not delete project contents on disk)
> rootProject 하위로 kafka-publisher / kafka-subscriber Project 복사
5) Refresh Gradle Project
위와 같이 구성할 경우 동일한 레벨의 프로젝트를 하나의 디렉토리로 관리가 가능하며, 또한, 하나의 Git / SVN Repository로 관리할 수 있다.
또한 이렇게 하나의 프로젝트로 묶여 관리할 경우 프로젝트 간 참조를 다음과 같이 손쉽게 접근할 수 있다.
dependencies {
compile(project(":kafka-publisher"))
}
kafka-subscriber project에서 위와 같이 dependencies를 주입할 경우 kafka-publisher의 클래스를 직접 참조할 수 있다.
위와 같이 하위 프로젝트를 root 디렉토리에 넣을수도 있고, 용도별로 구분하여 디렉토를 구성할 수도 있다.
rootProject.name = 'nrson-kafka-project'
include 'kafka:kafka-publisher'
include 'kafka:kafka-subscriber'
include 'common:front'
include 'common:backend'
include 'front:ui'
위와 같이 root 디렉토리에 kafka 디렉토리를 생성하고 그 하위에 publisher / subscriber 프로젝트를 구성한다. 또한 common 디렉토리를 생성하고 front / backend 각각 공통 모듈을 위한 프로젝트를 생성한다. 마지막으로 front 디렉토리를 생성하고 ui 프로젝트를 생성한다.
이와 같이 settings.gradle을 활용하여 멀티 프로젝트 간 상호 참조를 관리하고 하나의 디렉토리로 다중 프로젝트를 관리함으로써 효과적인 유지보수 체계를 제공할 수 있다.
'⑤ 개발, 데이터베이스 > ⓢ Spring Boot' 카테고리의 다른 글
Rest API 관리 (Spring Boot Application + Swagger) (0) | 2020.09.24 |
---|---|
Spring initializr 활용 (Template Project 생성) (0) | 2020.09.24 |
Spring Boot Embedded Tomcat Running (0) | 2020.09.06 |
Lombok 라이브러리 Eclipse 환경에 적용하기 (0) | 2020.09.06 |
[Spring Boot] Nexus2 -> Nexus3 Repository 업그레이드 (1) | 2019.07.29 |
- Total
- Today
- Yesterday
- 오픈스택
- JBoss
- JEUS7
- openstack tenant
- k8s
- aws
- OpenStack
- nodejs
- Docker
- wildfly
- Da
- Architecture
- apache
- kubernetes
- node.js
- MSA
- git
- API Gateway
- TA
- SA
- aa
- webtob
- JEUS6
- jeus
- 아키텍처
- 쿠버네티스
- SWA
- openstack token issue
- 마이크로서비스 아키텍처
- 마이크로서비스
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |