인텔리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
반응형
'Stackoverflow > Java' 카테고리의 다른 글
[Spring Boot] RestController 인식이 안되는 경우 (1) | 2024.02.06 |
---|---|
[Java] 소수점을 %로 변경하는 두가지 방법 (0) | 2023.11.08 |
[Spring boot] JPA에서 대문자 테이블 인식 실패 문제 (0) | 2023.07.05 |
[Springboot] java.lang.UnsupportedClassVersionError (0) | 2023.01.03 |
EmptyResultDataAccessException: Incorrect result size: expected 1, actual 0 (0) | 2022.04.29 |