본문 바로가기

WEB/Spring

[Spring] Failed to load driver class org.mariadb.jdbc.Driver 에러

오늘도 일하면서 터진 문제입니다.

언제나 처럼 제 포스팅은 적용 방법만 보시고, 어떤 상황에 적용할지는 고민을 좀 더 하셨으면 좋겠습니다.

사용중인 기술은 다음과 같습니다.

  • Java 21
  • Spring Boot 3.2.1
  • JPA
  • Gradle
  • MariaDB
문제

 

잘 작동하던 로컬 프로젝트가 갑자기 작동하지 않았습니다.

설정이 바뀐것도 없었고 거의 동일한 설정의 운영서버도 제대로 돌아가고 있었습니다.

콘솔에 뜨는 오류는 다음과 같았습니다.

 

Failed to load driver class org.mariadb.jdbc.Driver이 문제의 핵심인 것 같았습니다.

빌드나 실행 과정에서 MariaDB JDBC 드라이버를 찾지 못했다는 뜻이였습니다.

 

설정이 바뀐게 없어서 DB에 문제가 있나 확인했습니다.

먼저 Docker 컨테이너를 확인했습니다.

 

docker 컨테이너는 제대로 작동하고 있었습니다. 다음은 IntelliJ로 접속이 잘 되는지 확인해봤습니다.

 

데이터도 제대로 조회되고 있습니다.

문제 해결

 

문제의 원인은 IDE 또는 Gradle의 캐시가 손상되어 발생하였습니다. 

Gradle은 빌드 성능 향상을 위해 이전 빌드의 결과물을 캐시로 저장하고 .gradle의 build 디렉토리에 보관합니다.

하지만 가끔 캐시가 손상되는 경우가 있다고 합니다.

 

해결 방법은 Gradle clean, build 입니다.

저는 IntelliJ를 사용하고 있어서 다음과 같이 진행하였습니다.

clean, build 순서로 더블클릭하면 됩니다.

 

성공적으로 해결된 것을 확인했습니다.

 


이번 문제는 찾아봤을때 많은 사람들이 다양한 원인으로 겪고 있었습니다.

저처럼 build.gradle, yml등 설정파일을 변경하지 않았고 갑자기 안될 때 해보시는것을 추천드립니다.


초보 개발자의 글이라 부족한 점이 많습니다. 잘못된 점 등을 말씀해주시면 감사히 받겠습니다.