본문 바로가기

tool

Mapped Statements collection does not contain value in IntelliJ

Eclipse를 계속 사용하다가 이번에 IntelliJ로 교체하게 되었습니다.
프로젝트는 Spring Boot으로 만들어진 프로젝트이고 데이터베이스 연결을 위해 MyBatis를 사용하고 있었습니다.
IntelliJ에서 Git으로 부터 소스를 연동하고 실행을 하니 다음과 같이 오류가 발생했습니다.

MyBatisSystemException

Eclipse에서는 잘 실행되던 소스였는데 왜 안되는지 이유를 처음에는 알지 못했습니다.
Spring 관련 로그를 자세히 살펴보니 이유가 xml로 작성된 Mapper파일을 찾지 못해서 발생한 오류였습니다.
저는 특정 package아래에 Dao 클래스와 xml파일을 같이 두고 있었는데 그 경로가 /main/java/ 아래에 있었습니다.
Eclipse는 아무 문제가 없으나 IntelliJ는 java 디렉토리 아래에 있는 xml 파일은 실행시 인지하지도 못하고 Maven 빌드시에도 파일을 target으로 복사하지 않는것을 발견했습니다.

어쩔수 없이 관리상으로는 불편하지만 /main/resources/ 아래에 똑같은 package 구조로 xml파일만 전부 옮겼습니다. 
이동하고 나서 문제없이 동작하는 것을 확인하였으나 Eclipse에서 사용할때 처럼 Dao, xml를 같은 경로에 두고 사용하는 방법은 찾지 못했습니다. IntelliJ를 계속사용한다면 이렇게 사용해야 될 것 같습니다.

'tool' 카테고리의 다른 글

m2e maven-dependency-plugin error 처리  (0) 2016.07.12
MS-SQL query formatting  (0) 2013.03.20
eclipse workspace 경로표시  (1) 2009.08.26
WTP의 Server View 사용하기  (1) 2009.04.07
eclipse Tip encoding-type 변경  (0) 2008.03.06