Maven의 주요 인코딩 옵션

Maven 프로젝트를 처음 생성하면 pom.xml 파일에 별다른 설정이 없다. 심지어 컴파일러 옵션조차 보이지 않는다. 물론 시스템이 기본 옵션으로 실행한다. 하지만 프로젝트를 생성하자마자 컴파일러와 리소스 플러그인의 인코딩 옵션을 명시적으로 지정해 놓는 편이 좋다. 안 그러면 나중에 Malformed Encoding ~ 어쩌구하는 예외 메시지를 보게 될 것이다.

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.2</version>
                <configuration>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

이렇게 바꾸고 나서 mvn compile이나 mvn test를 실행하면 다음과 같이 UTF-8 인코딩 사용 여부가 터미널에 출력된다.

jaden:ProjectName jaden$ mvn test
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ProjectName 1.0.0-BUILD-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ slide ---
[INFO] Using &#x27;UTF-8&#x27; encoding to copy filtered resources.
[INFO] Copying 5 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ slide ---
[INFO] Compiling 1 source file to /Users/jaden/Documents/Workspace/ProjectName/ProjectName/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ slide ---
[INFO] Using &#x27;UTF-8&#x27; encoding to copy filtered resources.
[INFO] Copying 16 resources
[INFO] Copying 5 resources
[INFO] Copying 2 resources
[INFO] Copying 0 resource
[INFO] Copying 42 resources

참고 문헌: Change character encoding scheme for Maven resource and compile plugin in NetBeans

Advertisements

최 재훈

블로그, 페이스북, 트위터 고성능 서버 엔진, 데이터베이스, 지속적인 통합 등 다양한 주제에 관심이 많다.
Close Menu