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" />

카테고리:

업데이트:

댓글남기기