build.gradle에 Redisson dependecy 적용 시 Swagger dependency와 충돌(ApplicationContextException) - bondyuu/dodam GitHub Wiki
- build.gradle에 Redisson dependecy 적용 시 Swagger dependency와 충돌(ApplicationContextException).
-
Dodam 프로젝트에서 사용하고 있는 Spring Boot의 버전이 2.6.3이다.
-
Swagger를 설정하기 위한 라이브러리에는 Spring-Fox와 Spring-Doc 2가지가 있다.
-
Spring-Fox는 2020년 이후부터 업데이트되지 않고 있고, Spring Boot 2.6 이상 버전에 바로 적용되지 않는다.
-
Spring-Doc는 2019년에 출시된 라이브러리로, 현재 업데이트되고 있다. Spring Boot 2.6 이상 버전도 지원한다.
- [방법 1] Spring Boot 버전을 2.5 이하로 변경한다.
- [방법 2] Spring-Fox 대신에 Spring-Doc를 적용한다.
- [방법 3] Spring-Fox를 현재 프로젝트에 적용하기 위해 설정을 추가한다.
- 방법 3을 사용해 문제를 해결했다.
- 아래의 링크에 들어가 WebMvcRequestHandlerProvider.java를 복사하고, 패키지 springfox.documentation.spring.web.plugins를 생성해 이곳에 파일을 작성한다.
- https://github.com/springfox/springfox/blob/master/springfox-spring-webmvc/src/main/java/springfox/documentation/spring/web/plugins/WebMvcRequestHandlerProvider.java
- 63번째 라인을 this.handlerMappings = handlerMappings.stream().filter(mapping -> mapping.getPatternParser() == null).collect(Collectors.toList());으로 변경한다.