이 오류는 JDBC URL 형식 문제, MariaDB 드라이버 버전 불일치, Gradle 캐시 문제 등으로 인해 발생할 수 있습니다.


🔹 1️⃣ 오류 메시지 예시

java.lang.RuntimeException: Driver org.mariadb.jdbc.Driver claims to not accept jdbcUrl, jdbc:mysql://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul

위와 같은 오류가 발생하면 다음 단계를 확인해보세요.


🔹 2️⃣ JDBC URL을 jdbc:mariadb:// 형식으로 변경

MariaDB를 사용할 때는 jdbc:mysql:// 대신 jdbc:mariadb://을 사용해야 합니다.

기존 설정

spring.datasource.url=jdbc:mysql://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul

변경 후

spring.datasource.url=jdbc:mariadb://34.00.00.xxx:3306/myuser?serverTimezone=Asia/Seoul

🔹 3️⃣ MariaDB JDBC 드라이버 최신 버전 적용

Gradle에서 MariaDB JDBC 드라이버를 최신 버전으로 업데이트해야 합니다.

build.gradle 수정

dependencies {
    runtimeOnly 'org.mariadb.jdbc:mariadb-java-client:3.1.4'  // 최신 버전 사용
}

최신 버전 확인: Maven Repository - MariaDB


🔹 4️⃣ Gradle 캐시 삭제 후 클린 빌드

Gradle의 캐시 문제로 인해 이전 버전의 드라이버가 계속 참조될 수도 있습니다.

./gradlew --stop
./gradlew clean
rm -rf ~/.gradle/caches
./gradlew build --warning-mode all

클린 빌드 후 재실행!


🔹 5️⃣ spring.datasource.driver-class-name 명시적으로 지정

Spring Boot가 올바른 JDBC 드라이버를 감지하지 못하는 경우 직접 지정해줘야 합니다.

application.properties에 추가

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver

+ Recent posts