java multi project 빌드하기

java 프로젝트를 구성할때 전체를 하나의 큰 프로젝트 형태로 모놀리틱한 방식으로 빌드하여 사용하는 경우도 있지만,

 

하위의 여러개의 프로젝트로 쪼개어서 만드는 경우도 있습니다

 

./gradlew -q projects

 

gradle의 projects 명령어를 사용하면

 

현재 프로젝트를 분석해서 구조를 보여줍니다 

 

 

------------------------------------------------------------
Root project
------------------------------------------------------------

Root project 'myproject'
+--- Project ':myproject-api'
+--- Project ':myproject-base'
\--- Project ':myproject-web'

 

 

예를 들면 큰 A라는 프로젝트가 있다고 하면 하위 프로젝트로

 

보통 네이밍으로 shared, base, common 이라고 이름짓는, 공통으로 사용하는 프로젝트가 있고,

 

그 프로젝트를 import하는 다른 하위 프로젝트가 존재하는 이런 구성을 생각해볼수도있습니다.

 

 

이런 구성인 경우  명령어도 각 프로젝트명과 명령어를 조합 사용할 수 있습니다

 

gradlew <project-path>:tasks

 

 

위의 예제에서 myproject-base 프로젝트를 import하는 myproject-api 프로젝트를 빌드하려면 다음과 같습니다

 

./gradlew :myproejct-api:build

 

 

이때 반드시 myproject-api 프로젝트의 gradle 파일에서는

 

dependencies {
    implementation project(':myproject-base')
}

 

다음과 같이 다른 프로젝트의 의존성 추가가 필요합니다

| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ··· | 1862 |