Java & Spring/Spring
[스프링부트] Gradle 에서 프로퍼티 / YAML / application 중복 오류 해결하기
데르벨준
2021. 12. 7. 10:43
반응형
항상 메이븐만 쓰다가 그래들 환경으로 프로그래밍 하려니 새로운 걸 자주 접하게 되서 재밌다.
스프링부트에서 application 을 프로파일 환경에 맞게 가져올 때
공통으로 사용할 기본 application 이 있고
프로파일 마다 각각의 application-${profile}을 같이 가져오게 세팅했다면 중복으로 가져왔다는 에러를 뱉는다.
구조
resources
├─ profile (프로파일별 application.yaml)
│ ├─ application-dev.yaml
│ ├─ application-local.yaml
│ ├─ application-qa.yaml
│ └─ application-stage.yaml
└─ application.yaml (공통 appliaction.yaml)
- profile과 공통 application이 존재하는 상황
에러
Entry application.yml is a duplicate but no duplicate handling strategy has been set. Please refer to https://docs.gradle.org/7.3/dsl/org.gradle.api.tasks.Copy.html#org.gradle.api.tasks.Copy:duplicatesStrategy for details.
해결
이럴 땐 아래와 같이 가져온 resources 를 어떻게 처리할 지 DuplicatesStrategy 을 지정해주어야 한다.
대표적으로 INCLUDE / EXCLUDE가 있다.
아래 코드를 build.gradle에 task 영역에 추가하자.
tasks {
processResources {
duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.INCLUDE
}
반응형