본문으로 바로가기
반응형

Spring Boot는 Spring Framework와 달리 프레임워크 빌드, 런타임 등에 필요한 의존성을 자동으로 관리해주는게 큰 장점중에 하나인데요.

 

Spring Boot에서는 관련 있는 기능 및 의존성을 묶어 하나의 의존성으로 제공하고 개발자들은 필요한 의존성만 선택하여 사용하면 됩니다. 

그 안에서 일어나는 라이브러리 간의 호환성, 중복되는 라이브러리로 인한 충돌 등으로부터 자유로워지죠.

 

이를 Spring Boot 진영에서는 Managed Dependency라고 부르며 아래 링크에서 어떤 의존성들을 관리하고 있는지 볼 수 있습니다.

 

https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html

 

다만 가끔은 이렇게 관리되는 의존성 중에서 특정 라이브러리나 의존성은 다른 버전을 사용하고 싶을때가 있습니다.

 

Spring Boot managed Dependency에선 특정 라이브러리 버전을 커스터마이즈 할 수 있는 방법을 제공하는데요.

 

바로 Version Properties를 제공해주어 원하는 버전으로 변경할 수 있게 해줍니다.

 

Maven 에서는 아래와 같이 properties로 선언해주면 됩니다. 변경가능한 Property명은 https://docs.spring.io/spring-boot/docs/current/reference/html/dependency-versions.html 의 Version Proerties에 정의되어 있습니다.

<properties>
    <srping-framework.version>5.3.18</srping-framework.version>
</properties>

 

Gradle의 경우엔 아래와 같이 할 수 있습니다.

ext['spring-framework.version] = '5.3.18'​

 

이렇게 특정 라이브러리의 버전을 변경할 수 있습니다.

 

단 버전을 변경할 땐 기존 제공되는 의존성에서 맞춰진 호환성이 더 이상 보장되지 않기 때문에

변경 후 영향도를 반드시 체크해주어야합니다.

반응형