Spring
[Spring Boot] com.mysql.cj.jdbc.driver not found
soro.k
2023. 3. 31. 19:09
Step 0. 상황
프로젝트의 대략적인 개발 환경은 다음과 같다. 팀원 분이 설정하셨던 코드를 그대로 프로젝트를 실행해 보니 아래와 같이 찾을 수 없다는 에러가 발생했다.
- Java 17
- Spring boot 3.0.4
- Mybatis 3.0.1
dependencies {
implementation 'mysql:mysql-connector-java'
}
Step 1. 원인
Maven Repository에 MySQL Connector를 검색하면 두 가지가 나온다.
그중 MySQL Connector Java에 들어가면 다음과 같은 문구를 확인할 수 있다. 이제는 connector-j로 지원한다는 의미인 것 같다.
그리고 실제로 Spring initializer에서 MySQL 의존성을 추가하면 아래와 같이 설정해준다.
어떤 공식적인 문서는 없지만 개인적인 생각으로는 mysql-connector-j는 앞으로 스프링 부트에서 버전 관리가 가능하지만 mysql-connector-java는 제외됐기 때문에 버전 명시를 해줘야 하는 게 아닌가 싶다.
Step 2. 해결
처음에는 위와 같은 원인을 파악하지 못했기 때문에 우선 버전 명시를 해줘서 에러를 해결했다.
implementation 'mysql:mysql-connector-java:8.0.32'
지금 당장은 위와 같은 방법도 크게 문제가 없겠지만 결국에는 아래와 같이 변경해야 한다고 생각한다.
runtimeOnly 'com.mysql:mysql-connector-j'