org.apache.ibatis.binding.BindingException 디버깅

mapper02대부분의 org.apache.ibatis.binding.BindingException은 Mapper의 철자의 오류에서 발생한다. 그러나 위의 그림과 같이 Mapper.xml을 src/main/java폴더에 Interface 폴더에 같이 위치시키고 실행하면 발생하기도 한다. 원인은 src/main/java폴더는 java source만 컴파일을 하고 xml파일은 빌드를 하지 않기 때문이다. 해결 방법은 src/main/java 폴더의 xml파일도 빌드에 포함 될 수 있도록 아래와 같이 resource를 추가한다.(내용중 일부만 적었음)

<project xmlns="...">

<build>
  <resources>
    <resource>
      <!-- src/main/java 폴더의 xml파일들을 빌드에 포함 -->
      <directory>src/main/java</directory>
      <includes>
	<include>**/*.xml</include>
      </includes>
    </resource>
    <resource>
      <!-- src/main/resources 폴더의 xml, properties, setting파일들을 빌드에 포함 -->
      <directory>src/main/resources</directory>
      <includes>
	<include>**/*.xml</include>
	<include>**/*.properties</include>
	<include>**/*.setting</include>
      </includes>
    </resource>
  </resources>
</build>
</project>

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다