본문 바로가기
개발툴

maven build 시 properties 값 변경 방법

by 탁구치는 개발자 2015. 3. 4.

properties 파일의 특정 값을 배포 환경에 따라 값을 다르게 하기 위해서 다음과 같이 치환하고자 하는 변수를 추가한다.

test.service.url=${test.service.url}


예를 들어서 개발망에서는 test.service.url=http://localhost:8080 으로 셋팅하고 싶은 것이고, 라이브망에서는 test.service.url=http://localhost:9090 으로 셋팅하고 싶은 경우이다.


pom.xml 파일의 build 엘리먼트 하위에 다음의 설정 추가

메이븐 프로젝트이므로 기본적으로 src/main/resources 디렉토리 하위에 properties 파일을 위치하게 된다.

<build>

<resources>

<resource>

<directory>src/main/resources</directory>

<filtering>true</filtering>

</resource>

</resources>

</build>


pom.xml 파일의 profiles 엘리먼트 하위에 다음의 설정 추가

<profiles>

<profile>

<id>dev</id>

<properties>

<test.service.url>http://localhost:8080</test.service.url>

</properties>

</profile>

<profile>

<id>live</id>

<properties>

<test.service.url>http://localhost:9090</test.service.url>

</properties>

</profile>

</profiles>


위와 같이 셋팅 후 다음과 같이 maven goals 실행하면 된다.

package -Pdev : ${test.service.url}의 표현식이 http://localhost:8080 값으로 치환

package -Plive : ${test.service.url}의 표현식이 http://localhost:9090 값으로 치환