CMD를 진행하면서 예전에 셋팅했던 기억을 되살려 프로젝트 셋팅을
Spring-data-JPA + Hibernate로 그리고 gradle을 사용해서 셋팅을 하였다.
local에서는 embeded HSQLDB를 사용해서 메모리에 올려서 작동하도록 구성을 하였는데
이클립스에서는 간단한 JPARepository Testcase가 제대로 잘 동작을하는데 (save, findAll 등)
터미널에서 gradle build 명령을 실행하면 build도중 testcase가 실패하는 문제가 발생하였다.
에러메시지는 @Entity annotation을 달고있는 Entity 클래스가 JPA에 의해서 관리되지 않는 Entity다.. 뭐 이런 메시지..
몇번을 뒤적거리다 원인을 stackoverflow에서 찾을 수 있었다.
원인은 gradle은 build시에 resources와 classes 디렉토리를 별도로 만들어서 build를 하는데
JPA는 이 resources 파일들과 classes파일들이 같은 디렉토리에 존재해야 한다는 것이다.
해결책은 build.gradle에 아래를 추가...
sourceSets.main.output.resourcesDir = sourceSets.main.output.classesDir
sourceSets.test.output.resourcesDir = sourceSets.test.output.classesDir
수정하고 돌려보니 Pass가 된다..