무한루프/개발, 업무

Cannot load driver class: org.mariadb.jdbc.Driver Maria DB 설정 셋팅 에러

시원한생맥주 2025. 2. 28. 12:30

 

 

 

Cannot load driver class: org.mariadb.jdbc.Driver 오류는

MariaDB JDBC 드라이버를 찾을 수 없을 때 발생하는 문제입니다.

 

 


 

해결 방법

mariadb-java-client 의존성이 pom.xml에 추가되었는지 확인

MariaDB 드라이버가 Maven 의존성에 포함되지 않았거나 누락되었을 수 있습니다. pom.xml에서 올바른 버전의 MariaDB 드라이버가 추가되었는지 확인하세요.

 

pom.xml 확인 및 수정

<dependency>
    <groupId>org.mariadb.jdbc</groupId>
    <artifactId>mariadb-java-client</artifactId>
    <scope>runtime</scope>
</dependency>
  • scope를 **runtime**으로 설정하면, 실행 시점에만 드라이버가 로드됩니다.
  • scope를 아예 제거하면 빌드 시에도 포함됩니다.

Maven을 다시 빌드

mvn clean install

 

 

 


 

 

spring.datasource.driver-class-name 설정 확인

application.properties 또는 application.yml에서 JDBC 드라이버 클래스명이 정확한지 확인하세요.

 

application.properties

spring.datasource.url=jdbc:mariadb://localhost:3306/your_database
spring.datasource.username=your_username
spring.datasource.password=your_password
spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

 

application.yml (YAML 사용 시)

spring:
  datasource:
    url: jdbc:mariadb://localhost:3306/your_database
    username: your_username
    password: your_password
    driver-class-name: org.mariadb.jdbc.Driver

 

클래스명 org.mariadb.jdbc.Driver가 정확한지 확인!
오타가 있거나 spring.datasource.driver-class-name이 누락되면 오류가 발생할 수 있습니다.

 

 


 

 

Maven 캐시 삭제 후 재빌드

의존성이 정상적으로 다운로드되지 않았을 수도 있습니다. 로컬 캐시를 삭제하고 다시 빌드하세요.

Maven 캐시 삭제

mvn clean
mvn dependency:purge-local-repository
mvn install

또는 STS (Spring Tool Suite)에서 Maven Update 수행

  1. 프로젝트 우클릭 → Maven → Update Project (Alt + F5)

 

 


 

JDK 버전 확인

MariaDB JDBC 드라이버는 JDK 8 이상을 필요로 합니다.
사용 중인 Java 버전을 확인하세요.

Java 버전 확인

java -version

pom.xml에서 올바른 Java 버전 설정

<properties>
    <java.version>17</java.version>
</properties>
  • 사용 중인 Java 버전과 pom.xml의 <java.version>이 동일해야 합니다.

 

 


 

 

MyBatisConfig의 driver-class-name 설정 확인

만약 MyBatisConfig에서 DataSource를 직접 설정하는 경우, 드라이버 클래스를 명시적으로 추가해야 합니다.

MyBatisConfig 수정

@Bean
public DataSource dataSource() {
    HikariDataSource dataSource = new HikariDataSource();
    dataSource.setJdbcUrl(url);
    dataSource.setUsername(username);
    dataSource.setPassword(password);
    dataSource.setDriverClassName("org.mariadb.jdbc.Driver"); // 드라이버 명시적으로 추가
    dataSource.setMaximumPoolSize(10);
    return dataSource;
}

 

 

 


 

 

최종 해결 절차

1. pom.xml에 mariadb-java-client 추가 및 mvn clean install 실행
2. spring.datasource.driver-class-name=org.mariadb.jdbc.Driver 설정 확인
3. Maven 캐시 삭제 후 다시 빌드 (mvn dependency:purge-local-repository)
4. JDK 버전 확인 (JDK 8 이상)
5. MyBatisConfig에서 dataSource.setDriverClassName("org.mariadb.jdbc.Driver") 명시적 설정