Woopii Vyeolog

[Spring Boot] 에러 'java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader' 본문

Spring Boot

[Spring Boot] 에러 'java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader'

WooPii 2024. 3. 6. 20:43

에러

[java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader]

 

 

증상

Spring Boot 기동 시 다음과 같은 에러가 납니다.

application-db.yml 설정 중에 문제가 있다고 합니다.

 

Property: spring.datasource.hikari.master.driver-class-name
Value: "com.mysql.cj.jdbc.Driver"
Origin: class path resource [application-db.yml] - 42:28
Reason: java.lang.RuntimeException: Failed to load driver class com.mysql.cj.jdbc.Driver in either of HikariConfig class loader or Thread context classloader

 

 

원인

해당 에러 발생 원인은 다음과 같습니다.

 

  • MySQL Connector Java 라이브러리가 누락되었거나 버전이 올바르지 않습니다.
  • Spring Boot 설정에 드라이버 클래스 이름이 잘못 설정되었습니다.
  • 클래스 경로에 드라이버 클래스가 없습니다.

 

저의 경우, 1번 사항에 해당되었습니다.

Gradle에 라이브러리 등록 시 MySQL Connector Java 라이브러리를 Mariadb Java Client로 바꿨습니다.

그래서 MySQL Connector Java 라이브러리가 없었습니다.

관련 링크 : https://woopi1087.tistory.com/116

 

 

해결

MySQL Connector Java 대신 Mariadb Java Client를 사용했기 때문에

Mariadb Java Client에서 사용하는 Driver Class로 바꾸었습니다.

org.mariadb.jdbc.Driver

 

해당 부분은 다음과 같습니다.

 

### application.yml

...
spring:
  datasource:
    driver-class-name: org.mariadb.jdbc.Driver
...
Comments