작성
·
439
1
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
질문은 아니지만 해결방법이 안 올라온 것 같아 올립니다.
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
예
[질문 내용]
강의 초반에 Member 클래스를 만들고 DB연결, 테이블 생성까지 했는데 메인메서드를 실행하면 NoSuchMethodError 오류가 나는 경우가 있습니다.
커뮤니티 게시판을 찾아봤는데 질문은 있고 답변은 없는 것 같아 해결방법 공유합니다.
저같은 경우는 h2버전과 스프링 부트 버전이 맞지 않아 그런 줄 알고 h2와 스프링 부트 버전을 달리해가며 설정해봤는데 알고보니 hibernate 버전 충돌 문제인 것 같습니다.
pom.xml파일에서
<!-- JPA 하이버네이트 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.6.15.Final</version>
</dependency>
로 하이버네이트 의존성 설정을 해주면 인텔리제이가 자동으로 하이버네이트 라이브러리를 다운받는데 이때 hibernate-commons-annotations의 버전과 hibernate-core의 버전이 호환되지 않는 경우가 있는 것 같습니다. 저는 처음에 hibernate-commons-annotations 버전이 5.0.4, hibernate-core가 5.6.15 final로 되어있었는데 의존성 설정 갱신 이후 hibernate-commons-annotations 버전이 5.1.2 final로 바뀌며 정상 실행 됐습니다.
인텔리제이가 충돌하는 라이브러리를 다운받기도 하는 것 같습니다.