[Spring Boot] Could not find com.mysql:mysql-connector-j 에러 해결 원인

    인텔리J(Intellij)로 Spring boot를 사용하여 Java Application을 만드는 와중, 인텔리J에서 직접 실행을 할 때에는 이상이 없었으나, Jar로 빌드를 한 후 실행을 하게 되면,

     

    Could not find com.mysql:mysql-connector-j

     

    위와 같은 에러 문구가 뜨면서 실행이 되질 않았다. 그렇게 원인을 찾아본 순간, 내 Gradle 설정에 MySQL Connector가 2개 중복 설정이 되었다는 것을 깨달았다.

     

    그리고 이렇게 중복으로 설정된 가장 큰 원인은 MySQL Connector가 버전에 따라 패키지 명이 바뀌게 되면서 인지를 하지 못했기 때문이었다.

     

     

    MySQL 8.0.31 이전 버전

    우선 예전부터 내가 자주 사용하였던, 8.0.31 이전 버전의 커넥터는 패키지가 mysql:mysql-connector-java이다.

     

    Maven pom.xml 설정

    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>

     

    Gradle build.gradle 설정

    dependencies {
    	runtimeOnly 'mysql:mysql-connector-java'
    }

     

    8.0.31 이후 버전의 설정

    Maven pom.xml

    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>

     

    Gradle build.gradle 설정

    dependencies {
    	runtimeOnly 'com.mysql:mysql-connector-j'
    }

     

    구버전을 굳이 활용할 이유는 없으니, 이상이 없다면 신규 버전으로 개발을 하는 것을 권유하고 싶다.

     

    참고자료

    [1] Oracle Blog, MySQL Connector/J has new Maven Coordinates

    반응형

    댓글

    Designed by JB FACTORY