티스토리 뷰
spring boot 3 migration#04 spring boot 3 resilience4j 버전이 안올라간다면
LichKing 2024. 1. 28. 13:06이번껀 spring boot 3 로 업그레이드할때 누구나 만날만한 이슈도 아니고, 어떻게 보면 그냥 내 실수이지만 비슷한 이슈를 마주할 수 있기에 적어놓는다.
기존 spring boot 2 애플리케이션에서 circuit breaker 로 resilience4j 를 사용하고 있었다면 spring boot 3 에 맞게 resilience4j 도 버전을 올려줘야한다. 다만 resilience4j 같은 경우 spring boot 버전에 최적화된 아티팩트를 제공하고 있어서 이 부분 이름도 변경해줘야 한다.
spring boot 2 | spring boot 3 |
io.github.resilience4j:resilience4j-spring-boot2:${version} | io.github.resilience4j:resilience4j-spring-boot3:${version} |
이건 어렵지 않으나 버전을 올려주고 애플리케이션 구동시 이런 에러를 만날 수 있다.
java.lang.ClassNotFoundException: io.github.resilience4j.core.functions.CheckedSupplier
클래스가 없다는 에러인데, 구체적인 클래스명은 상황마다 좀 다를 수 있다. 여튼 문제는 resilience4j 를 알맞게 최신화했는데 필요한 클래스가 없다는 에러가 발생한다는 것. 왜 클래스를 못 찾는걸까?
의존성 버전을 살펴보면 spring boot 3 로 올려주고, 현 시점 가장 최신버전인 2.2.0 으로 넣었음에도 1.7.0 을 사용하고 있는걸 알 수 있다.
이 이슈 때문에 그레이들 새로고침을 몇십번을 하고 로컬 리파지토리를 몇번을 지우고 했는지...
원인은 spring cloud 때문이었다. 혹시 위와 같은 이슈를 만난다면 spring cloud 를 사용하고 있는건 아닌지 확인해 본 후 spring cloud 버전을 올려주자. spring cloud 도 spring boot 의 각 버전에 맞는 릴리즈를 제공하고 있는데, 차근차근 하나씩 버전을 올리면서 아직 spring cloud 의 버전을 올리지 않았다면 구버전 spring cloud 의존성 때문에 resilience4j 의 구버전에 의존하게 된다. spring cloud 버전을 올려주면 해결된다.
spring boot 에 맞는 spring cloud 버전은 아래를 참고하면 된다.
https://spring.io/projects/spring-cloud
'Java > spring' 카테고리의 다른 글
Spring bean 에서 다형성을 활용할 수 있을까 (0) | 2024.05.26 |
---|---|
spring boot 3 migration#03 @ConstructorBinding 스펙 변경 (0) | 2023.11.07 |
spring boot 3 migration#02 WebSecurityConfigurerAdapter (0) | 2023.05.14 |
spring boot 3 migration#01 ListenableFuture (1) | 2023.05.14 |
spring boot 에서 ObjectMapper 확장하기 (1) | 2023.03.24 |
- Total
- Today
- Yesterday
- generics
- frontcode
- MySQL
- javascript
- Kotlin
- go-core
- spring cloud
- mariadb
- clean code
- code
- http
- Git
- EffectiveJava
- DesignPattern
- java
- 정규표현식
- TEST
- OOP
- db
- Design Pattern
- frontend개발환경
- JavaScript Core
- Jackson
- JPA
- programming
- Spring
- backend개발환경
- toby
- servlet
- java8
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |