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'
'Spring' 카테고리의 다른 글
[Spring] 쉽게 이해하는 Spring Security + JWT 로그인 구현기 (0) | 2023.05.12 |
---|---|
[Spring] REST Docs 설정 (0) | 2023.04.19 |
[Spring] @Transactional의 Transaction Propagation (0) | 2023.03.08 |
@Valid exception handling (with BindException) (1) | 2022.11.29 |
MultipartFile이 있는 DTO 요청하기 (404 Bad Request 해결) (0) | 2022.11.28 |