java.lang.NoSuchMethodError: 'void org.springframework.web.method.ControllerAdviceBean.<init>(java.lang.Object)'

build.gradle
id 'org.springframework.boot' version '3.5.1'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.0'
문제
스웨거 기본 설정하고
http://localhost:8080/swagger-ui/index.html 접속했는데 저 사진이 뜸..
시도 1 ❌
Build > Rebuild Project
./gradlew clean build --refresh-dependencies
-> 해결 X
GPT는
springdoc-openapi-starter-webmvc-ui:2.5.0
→ ✅ Spring Boot 3.x 호환 OK
🔥 현재 build.gradle은 정상적이고 최신 환경에 맞게 잘 작성되었습니다. 따라서 문제는 아래 중 하나일 가능성이 높음:
SecurityFilterChain에 Swagger 경로가 permitAll로 설정되지 않음 @ControllerAdvice 코드가 Spring 6.x와 호환되지 않음 transitively springdoc-openapi 1.x 라이브러리가 남아있음
라고 하던데 이게 문제가 아닌 듯 했음. (GPT를 신뢰하지 말자...)
시도 2 ⭕
스프링부트 다운그레이드 하기
id 'org.springframework.boot' version '3.3.1'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.5.1'
-> 해결되긴 했지만, 다운그레이드
최종 해결 💫
id 'org.springframework.boot' version '3.5.3'
implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.8.9'
webmvc-ui를 최신 버전으로 하기!!
버전끼리 호환이 잘되는지 살펴보는 게 중요하다!

'트러블슈팅' 카테고리의 다른 글
| 🐛 Jackson 충돌: JSON parse error 해결 (0) | 2025.09.05 |
|---|---|
| 🐛 인텔리제이 Claude MCP failed 오류 (0) | 2025.09.04 |