[java] Maven 리소스 필터링

Maven은 프로젝트에서 리소스 필터링을 통해 소스 코드에 대한 환경별 구성을 쉽게 관리할 수 있습니다. 리소스 필터링은 소스 코드에 동적으로 값을 주입하여 소스 코드를 변환하는 방법입니다.

리소스 필터링 설정

Maven 프로젝트에서 리소스 필터링을 설정하려면 pom.xml 파일에 다음과 같이 필터링을 적용할 리소스 디렉토리와 필터 파일을 정의해야 합니다.

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
            <filtering>true</filtering>
        </resource>
    </resources>
</build>

위의 설정은 src/main/resources 디렉토리에 있는 리소스를 필터링하도록 지시합니다. 이제 필터 파일을 생성하여 필터링할 값을 정의해야 합니다.

필터 파일 생성

src/main/resources 디렉토리에 application.properties 파일을 생성하고 필터링할 값을 정의합니다.

app.version=@project.version@
app.env=@env@

위의 설정에서 @project.version@@env@는 필터링될 값입니다.

필터된 값 사용

Java 소스 코드 또는 리소스 파일에서 @env@ 또는 @project.version@와 같은 필터링된 값을 사용할 수 있습니다.

public class AppConfig {
    public static final String VERSION = "${app.version}";
    public static final String ENV = "${app.env}";
}

위의 코드에서 ${app.version}${app.env}는 필터링된 값으로 대체됩니다.

결론

Maven 리소스 필터링을 사용하면 환경에 따라 다른 구성을 쉽게 관리할 수 있습니다. 필터 파일을 사용하여 동적으로 값이 주입된 리소스를 만들 수 있으며 이를 통해 프로젝트의 유연성을 향상시킬 수 있습니다.

마음껏 활용하여 Maven을 통해 리소스 필터링을 효과적으로 적용해 보세요.

참고 자료