Stackoverflow/Java

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

The Neo 2024. 5. 3. 22:39

인텔리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

반응형