[java] Maven 프로파일 활용

Maven은 프로젝트 관리 도구로써, 빌드, 테스트, 배포 등의 과정을 효율적으로 수행할 수 있도록 지원합니다. 프로젝트는 종종 다양한 환경에서 실행되어야 하는데, 예를 들어 로컬, 개발, 테스트, 운영과 같이 각각 다른 설정이 필요합니다. Maven은 프로파일을 통해 이러한 다양한 환경을 관리할 수 있습니다.

프로파일 정의하기

Maven 프로파일을 정의하려면 pom.xml 파일에 아래와 같이 <profiles> 섹션을 추가합니다.

<profiles>
    <profile>
        <id>local</id>
        <properties>
            <environment>local</environment>
            <database.url>jdbc:mysql://localhost:3306/localdb</database.url>
        </properties>
    </profile>
    <profile>
        <id>dev</id>
        <properties>
            <environment>development</environment>
            <database.url>jdbc:mysql://dev.example.com:3306/devdb</database.url>
        </properties>
    </profile>
</profiles>

위 예제에서는 로컬 환경과 개발 환경을 정의하고 각각의 설정을 포함하고 있습니다.

프로파일 활성화하기

프로젝트를 특정 프로파일로 빌드 또는 실행하기 위해서는 -P 플래그를 사용합니다.

mvn clean install -Plocal

위 명령어는 local 프로파일을 활성화하여 빌드를 수행합니다.

조건부 설정 사용하기

프로파일 내에서 특정 조건에 의해 설정을 활성화 또는 비활성화할 수 있습니다. 예를 들어 프로파일에 환경 변수를 기반으로 설정을 추가할 수 있습니다.

<profiles>
    <profile>
        <id>dev</id>
        <activation>
            <activeByDefault>true</activeByDefault>
            <property>
                <name>env</name>
                <value>dev</value>
            </property>
        </activation>
        <properties>
            <database.url>jdbc:mysql://dev.example.com:3306/devdb</database.url>
        </properties>
    </profile>
</profiles>

위 설정을 통해 env 환경 변수가 dev일 때 dev 프로파일이 활성화됩니다.

Maven 프로파일을 활용하면 다양한 환경에 맞게 설정된 빌드 및 실행을 효율적으로 관리할 수 있습니다.

참고 자료