maven profile 설정하기
실무에서 개발과 운영 환경은 다를 겁니다. 누구도 테스트나 개발하는 환경에서 실제 데이터 베이스 또는 서버의 URL 등을 사용하지 않을 것 입니다. 만약, 환경이 변할때마다 일일히 코드 수정을 한다면 그것은 매우 비효율적이며 때때로 휴먼 버그를 낳을 것입니다. 이럴때 필요한 방법이 profile
입니다.
Maven profile
프로파일 설정은 pom.xml 에 아래와 같은 형태로 선언합니다.
<profiles>
<profile>
<id>local</id>
<properties>
<env>local</env>
</properties>
<resources>
<resource>
<directory>src/main/resources/${env}</directory>
</resource>
</resources>
</profile>
-
id : 프로파일을 식별할 수 있는 속성
-
properties : maven 에서
전역적
으로 사용할 수 있는 변수 -
resources : resource 관련 설정
프로젝트를 환경별로 빌드 시 아래와 같이 -P
옵션을 이용하여 profile을 설정합니다.
$ mvn build -P dev
빌드 관련 값들을 사용하려면 context에서 property 를 사용하도록 설정합니다. 설정 방식에 따라서 선언합니다.
application.properties
spring.datasoure.user=root
spring.datasource.password=1234
Java config
@PropertySource(value="classpath:application.properties")
@value("${spring.datasource.password}")
XML config
<context:property-placeholder location="classpath:application.properties" />
댓글남기기