본문 바로가기

ComputerScience/Study

[스프링 퀵 스타트] (DAY 3) ClassNotFoundException h2 driver 에러 해결

결론 : h2-버전.jar파일을 WEB-INF/lib 경로에 직접 복사-붙여넣기 해서 해결됨

 

 

증상

1. pom.xml에 h2 databse 의존성 설정이 되어 있는데도 login.jsp 실행 후 로그인을 하면 h2 driver가 없다는 에러가 나옴

 

에러메세지 : java.lang.ClassNotFoundException: org.h2.Driver

사용하는 h2  버전 : 2.2.220 (pom.xml에도 동일한 버전으로 들어가있음)

 

 

시도한 방법

1. 구글링을 하니 프로젝트 외부 라이브러리(external jar)를 추가하면 해결된다는 글을 발견

  > 프로젝트 속성, JAVA build path에 h2 database를 추가했는데도 에러 해결이 안됨

 

1-1. 혹시나 싶어서 관리자 권한으로 이클립스를 실행해서 해봤는데도 안됨

 

2. pom.xml과 buildpath에 h2 jar파일을 추가해도 프로젝트 파일 리스트에 변화가 없어서 뭔가 이클립스 자체가 설정 작동이 잘 안되는 것 같다는 느낌을 받음 > 영어로 다시 구글링 > 스택오버플로우에서 비슷한 글을 발견 > WEB-INF/lib에 h2 파일을 추가해보라고 함 > WEB-INF폴더 밑에 lib폴더를 생성하고 h2 jar파일을 복사-붙여넣기함 > 성공

 

 

참고한 글

1. https://dololak.tistory.com/473

 

[JAVA] H2 DB에 JDBC 연결시 예외 unexpected status 16777216 또는 Could not load requested class 해결 방법

하이버네이트를 H2 DB에 연동하여 사용하려고 프로젝트를 세팅하고 쿼리를 수행하려고 하니 다음과 같은 첫번째 예외가 발생했습니다. 첫번째 예외 Exception in thread "main" javax.persistence.PersistenceExce

dololak.tistory.com

2. https://ryang555.tistory.com/32

 

[스프링퀵스타트]java.lang.classnotfoundexception org.h2.driver

|에러문구 java.lang.classnotfoundexception:org.h2.driver |에러원인 h2드라이버가 제대로 연결이 안됌 |해결방법 참고 블로그 1 : https://jeffrey-oh.tistory.com/119 참고 블로그 2 : https://dololak.tistory.com/473 [JAVA] H2 DB

ryang555.tistory.com

3. https://stackoverflow.com/questions/25448179/unable-to-connect-to-h2-from-a-tomcat-java-servlet