2013년 3월 19일 화요일

Spring 3.2.2 + Hibernate 4.1 설정시 MetadataProvider ClassNotFound 에러

오랫만에 개발환경 template를 새로 꾸린다고 Spring 3.2.2 에 Hibernate 4.1.10, spring data jpa 1.3.0 으로 환경을 만들었는데, 몇시간에 걸친 삽질에도 불구하고 Tomcat7에서 스타트업시 최후의

ClassNotFound org.hibernate.annotations.common.reflection.MetadataProvider

에러가 사라지지 않는 것이었다. 하지만 환장하게도 MetadataProvider와 이를 포함하고 있는 jar는 분명히 POM.xml과 로컬 repository에도 정의되어 있는 상태.

프로젝트 clean, WTP clean, tomcat temporary workspace clean, refresh, server publish, 그 어느것도 먹히지 않았다.

뭔가 라이브러리가 꼬였거나 깨졌나 싶어서 local maven repository에서 org/hibernate를 통째로 날리고 maven으로 하여금 clean copy를 가져오도록 했다.

에러 해결. -_-;;

참고로 entity manager를 써야 할때는 maven에 entity manager만 추가해주면 된다. 그러면  관련된 annotation이라든가 hibernate-core등은 다 같이 가져온다. entity manager와 core, 혹은 다른 라이브러리간 버전이 틀려지면 불필요한 에러발생으로 디버깅 시간만 잡아먹게 되니 참고.


댓글 없음:

댓글 쓰기

가장 많이 본 글