tool
Mapped Statements collection does not contain value in IntelliJ
aircook
2020. 5. 13. 20:25
Eclipse를 계속 사용하다가 이번에 IntelliJ로 교체하게 되었습니다.
프로젝트는 Spring Boot으로 만들어진 프로젝트이고 데이터베이스 연결을 위해 MyBatis를 사용하고 있었습니다.
IntelliJ에서 Git으로 부터 소스를 연동하고 실행을 하니 다음과 같이 오류가 발생했습니다.
Eclipse에서는 잘 실행되던 소스였는데 왜 안되는지 이유를 처음에는 알지 못했습니다.
Spring 관련 로그를 자세히 살펴보니 이유가 xml로 작성된 Mapper파일을 찾지 못해서 발생한 오류였습니다.
저는 특정 package아래에 Dao 클래스와 xml파일을 같이 두고 있었는데 그 경로가 /main/java/ 아래에 있었습니다.
Eclipse는 아무 문제가 없으나 IntelliJ는 java 디렉토리 아래에 있는 xml 파일은 실행시 인지하지도 못하고 Maven 빌드시에도 파일을 target으로 복사하지 않는것을 발견했습니다.
어쩔수 없이 관리상으로는 불편하지만 /main/resources/ 아래에 똑같은 package 구조로 xml파일만 전부 옮겼습니다.
이동하고 나서 문제없이 동작하는 것을 확인하였으나 Eclipse에서 사용할때 처럼 Dao, xml를 같은 경로에 두고 사용하는 방법은 찾지 못했습니다. IntelliJ를 계속사용한다면 이렇게 사용해야 될 것 같습니다.