Gradle 멀티 모듈하면서 배운 것들Back-end/Build (Gradle, Maven)2023. 5. 12. 02:15
Table of Contents
Gradle을 통해서 멀티 모듈로 구성을 할 수 있다
나는 MSA를 하기 위해 구성했다
이렇게 하면 좋은 점 중 하나는 아래처럼 인텔리제이가 지원하는 기능을 사용할 수 있다
프로젝트 최상단에 build.gradle을 두면 각 모듈은 해당 파일을 기본적으로 먼저 해당 정보를 적용한다
allprojects {
...
}
subprojects {
...
}
allprojects는 루트 모듈과 모든 하위 모듈에 대해
subprojects는 루트 모듈을 제외한 모든 하위 모듈에 대해
적용을 하겠다는 block이다
이렇게 해서 공통 설정 정보를 몰아넣을 수 있다
만일 어떤 한 모듈만 루트의 build.gradle의 어느 한 의존성만 사용하고 싶지 않을 때가 있다
예를들어, 루트 build.gradle에는 톰캣 기반의 Spring Web 의존성이 있는데
딱 한 모듈, 즉 나의 경우엔 Spring Cloud는 네티 기반의 Spring Cloud Gateway 의존성이 있었다
실행하면 에러와 함께 Run Failed가 뜨는데
(아래는 오류 내용)
Spring Cloud Gateway; Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway Issue
결국 아래와 같이 Spring Cloud Gateway 모듈(build.gradle)에서 의존성 예외처리를 해주었다
configurations {
all*.exclude group: 'org.springframework.boot', module: 'spring-boot-starter-web'
}
'Back-end > Build (Gradle, Maven)' 카테고리의 다른 글
Gradle dependency 분리 하면서 생긴 문제, 해결 (0) | 2023.05.28 |
---|---|
Gradle 멀티모듈 - 의존성을 관리하는 두 가지 방법 (0) | 2023.05.28 |
Gradle 성능 최적화 (0) | 2023.05.12 |
Maven - New Lecture 강의록 (1) | 2020.10.01 |
Maven 참고할 들 (0) | 2020.10.01 |
@philo0407 :: Philo의 다락방
hi hello... World >< 가장 아름다운 하나의 해답이 존재한다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!