반응형
항상 메이븐만 쓰다가 그래들 환경으로 프로그래밍 하려니 새로운 걸 자주 접하게 되서 재밌다.
스프링부트에서 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
}
반응형
'Java & Spring > Spring' 카테고리의 다른 글
[Spring & Boot][2.6.2] 스프링 프로퍼티 암복호화 Jasypt 예제 (0) | 2021.12.23 |
---|---|
[스프링5 & 부트] 스프링 메시지소스 설정 (0) | 2021.12.15 |
spring-dev-tools를 통한 개발 시, 자동 반영(Reloading) 적용하기 (0) | 2020.02.14 |
스프링 배치 Spring Batch [1] 기본 개념 (0) | 2020.01.22 |
Springboot + Web 에서 /resources/static 정적 리소스 URL 접근 방법 (0) | 2020.01.12 |
WRITTEN BY
,