Build Tool/Maven

[Maven] Maven Profile 활용

시크맥스 2021. 1. 5. 11:18

로컬에서 개발할 때와 알파 서버에 배포하였을 때, 경로를 다르게 설정하기 위해 Maven Profile을 사용.

프로필 정의

local(개발용), alpha(배포용) 프로필 설정

여기서 사용하는 프로필에 따라 <env>...</env> 값이 다르게 설정되는 것을 볼 수 있다. 

이 값은 빌드시 어떤 Resource 경로를 참조할 건지 결정하는데 사용된다.

리소스 정의

아래 설정에서 env 값을 어떻게 사용하는지 볼 수 있다. 

프로필이 local일 때는 resources-local 디렉토리를 추가로 참조한다.  (local 서버용)

alpha일 때는 resources-alpha를 참조한다. (alpha 서버용)

이클립스에서 보면 아래와 같은 구조

resource-local/image-config.properties에는 로컬의 설정 파일 경로가 저장되어 있다.

resource-alpha/image-config.properties에는 alpha라는 서버의 설정 파일가 저장되어 있다.

이클립스에서 프로필 선택

프로필을 설정하면 프로젝트 우클릭 > Maven > Select Maven Profiles에서 프로필 선택이 가능하다. 

이 프로젝트의 경우 local이 <activeByDefault>true</activeByDefault>로 설정되었기 때문에 자동으로 선택되어 있다.

배포시 프로필 설정

알파라는 서버에 배포할 때는 alpha 프로필을 선택해야 한다. 

mvn package 명령어 실행시 -P 옵션으로 프로필을 지정할 수 있다.

> mvn package -P alpha