XML 매퍼를 resource 경로가 아닌 java 경로에 넣어 프로젝트를 진행하고 있었는데, Maven 빌드를 하면 정상적으로 서비스가 되는 경우도 있고 에러가 나는 경우도 발생했다.
규칙성 없이 에러가 발생했으며 에러 내용은 mapper 관련 파일을 찾을 수 없다는 내용이었다.
개발툴에는 당연히 파일이 존재했기 때문에 Maven 빌드 시 해당 파일이 누락될 거라는 의심을 하지 않아서 약간 삽질(?)을 하던 중 war 파일 압축을 풀어보니 xxxMapper.xml(매퍼) 파일이 없었다.
자료를 찾아보니 Maven 빌드의 경우 java 경로의 xml 파일은 빌드 시 누락되는 문제가 있었다.
(항상 누락되는 것은 아니고 간헐적으로 누락됐으며 그래서 에러 찾기가 애매했음)

해당 문제는 Maven의 pom.xml 파일을 아래와 같이 설정하면 해결된다.

<build>
    <resources>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
    </resources>
</build>

 

'프로그램 > Java & Jsp' 카테고리의 다른 글

[JAVA] 어노테이션 (Annotation)  (0) 2017.03.19
[JAVA] Thread-2 (join)  (0) 2017.03.12
[JAVA] Thread-1 (Thread, Runnable)  (0) 2017.03.12
[JAVA] 열거 타입 (Enumeration Type)  (0) 2017.03.12
SHA-512 (Java, JavaScript 소스)  (0) 2013.02.07

+ Recent posts