Dev_Log

[SpringBoot] Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException

LeeDaniel 2021. 11. 18. 13:07
-SpringBoot+스프링 시큐리티 구성에 Swagger를 추가 설정한뒤 서버구동시 에러 발생

[에러 로그]
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()" because the return value of "springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)" is null

Caused by: java.lang.NullPointerException: Cannot invoke "org.springframework.web.servlet.mvc.condition.PatternsRequestCondition.toString()" because the return value of "springfox.documentation.spi.service.contexts.Orderings.patternsCondition(springfox.documentation.RequestHandler)" is null

✔ Solution
검색을 해봤지만 정확한 원인을 찾기는 힘들었고
https://www.baeldung.com/swagger-2-documentation-for-spring-rest-api 문서를 발견했다

위 문서를 살펴보면

dependency에 대한 내용이 나오는데
나는 <parent>의 spring-boot-starter-parent버전을
기존값인 2.6.0에서 -> 2.4.0으로 변경한뒤 해결했다

기존의 pom.xml의 내용중
<!-- 기존 -->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.6.0-SNAPSHOT</version>
  <relativePath />
</parent>

<!-- 버전 변경후 -->
<parent>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-parent</artifactId>
  <version>2.4.0-SNAPSHOT</version>
  <relativePath />
</parent>

자세한 이유는 잘 모르겠지만
스프링부트와 Swagger의 버전호환 문제인것 같다

Swagger연동을 위해 pom.xml에 추가된 디펜던시
<!--  Swagger -->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger-ui</artifactId>
  <version>2.9.2</version>
</dependency>
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.9.2</version>
</dependency>

반응형