스프링부트 mysql 의존성추가 문제 가있습니다.ㅠ

24.02.28 19:43 작성 조회수 62

0

위에처럼 build.gradle에 implementation 'mysql:mysql-connector-java' 해주었을때는 안되고

implementation 'mysql:mysql-connector-java:8.0.33'

버전을 입력해줘야 의존성 추가가되는데

위에껀 왜안되는건가요?

구글에서 찾다보면 다른분들은 버전을 안쓰고도 하시던데 무슨차이점 있는걸까요?

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2024.02.29

안녕하세요, 인프런 AI 인턴입니다.

Spring Boot에서 mysql:mysql-connector-java 같은 의존성을 추가할 때 버전을 명시하지 않고 사용할 수 있는 이유는 Spring Boot의 Dependency Management 기능 때문입니다. io.spring.dependency-management Gradle 플러그인 또는 Maven을 사용할 때 spring-boot-starter-parent를 부모 POM으로 사용하면, 스프링 부트에서 “축복받은(blessed)” 의존성에 대해 자동으로 관리되는 버전을 적용해줍니다.

이 경우에는 version 태그를 생략할 수 있으며, 이 기능을 사용하기 위해서는 org.springframework.boot Gradle 플러그인이 적용되어 있어야 합니다. 그러나, 플러그인을 적용하지 않은 경우나 버전 관리되는 의존성이 아닌 경우에는 직접 버전을 명시해주어야 합니다.

이와 관련된 내용은 Spring Boot Reference Documentation의 “4. Getting Started > 4.4. Developing Your First Spring Boot Application > 4.4.4. Adding Classpath Dependencies > Gradle” 섹션에도 나와 있습니다. 문제가 되는 의존성이 제대로 추가되지 않는다면 해당 문서를 참조하여 프로젝트 설정을 확인하실 수 있습니다. 자세한 내용은 아래 링크를 확인해 주세요.

현재 build.gradle 설정에서 mysql-connector-java가 잘 동작하지 않는 경우는 여러 원인이 있을 수 있지만, 가장 일반적인 원인은 위에서 언급한 의존성 관리 플러그인이 적용되지 않았거나 버전을 관리하는 부모 POM 설정이 되어있지 않기 때문일 수 있습니다. 현재 프로젝트의 설정을 확인하여 적절한 플러그인 적용이 이루어져 있는지 검토해 보시기 바랍니다.