java.lang.ClassNotFoundException: com.mysql.cj.jdbc.Driver
(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)
: mysql-connector-java를 사용하면서 다음과 같은 에러가 발생했다. 이는 mysql과 java가 제대로 연동되지 않았음을 의미한다.
어떻게 해결할 수 있을까?
인프런의 JSP 강의에서도 해당 내용을 다루고 있다. 하지만 mysql 버전이 5.X로 내가 사용하는 8.0과는 다르다.
MySQL 8.0 버전은 mysql-connector-java 5.X버전으로는 해결이 안 된다.
여기서 8.0버전의 connect파일을 다운받아 프로젝트의 src/main/webapp/WEB-INF/lib에 넣어준다.
단, jar파일 형태로 넣어주기 위해 Platform Independent를 선택한다.
둘 중 아무거나 다운받아도 똑같다.
TAR를 다운받아서 열어보면 "mysql-connector-java-8.0.29" 디렉토리 안에 다음과 같은 파일들이 있는데,
이 중 가장 아래의 mysql-connector-java-8.0.29.jar 파일만 있으면 된다.
압축을 풀던, 복사를 하던, jar 파일을 프로젝트의 src/main/webapp/WEB-INF/lib 디렉토리에 넣어준다.
jdbc driver class
또한, 주의할 점은 jdbc driver class를 불러오는 방법이다.
com.mysql.cj.jdbc.Driver
// 예
Class.forName("com.mysql.cj.jdbc.Driver");
MySQL 5.1 버전 이하
Reference