集成swagger后出现Failed to start bean ‘documentationPluginsBootstrapper‘ | 您所在的位置:网站首页 › documentationpluginsbootstrapper › 集成swagger后出现Failed to start bean ‘documentationPluginsBootstrapper‘ |
集成swagger后出现Failed to start bean 'documentationPluginsBootstrapper'
SpringBoot集成swagger后出现Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException
之前就出现过创建SpringBoot项目集成swagger问题,今天又遇到了,就来写一下提供一下几种解决办法。
1、bug重现 当前遇到报错的环境是:SpringBoot版本为2.7.8,集成的swagger版本为2.9.2(最新版本已经更新到3.0.0了) //SpringBoot版本号 org.springframework.boot spring-boot-starter-parent 2.7.8 //swagger2 版本号 io.springfox springfox-swagger2 2.9.22、报错原因分析 SpringBoot 2.6及以上版本做了迭代,Spring Boot 2.6.X使用的是PathPatternMatcher,而Springfox 使用的路径匹配是基于AntPathMatcher的。 3、解决方案 ①方案一:更改Spring Boot 版本到2.6.x以下版本 Spring Boot版本Swagger 版本2.5.62.9.22.3.12.RELEASE2.9.2 之前创建项目时,为了项目包不冲突,创建的SpringBoot版本是 2.3.12.RELEASE,集成的swagger版本是2.9.2,这样的搭配是没有问题的。 //SpringBoot版本号 org.springframework.boot spring-boot-starter-parent 2.3.12.RELEASE //swagger2 版本号 io.springfox springfox-swagger2 2.9.2②方案二:不更改Spring Boot 版本 Spring Boot版本Swagger 版本2.5.63.0.02.7.82.9.2 第一种组合:我是借鉴网友:https://blog.csdn.net/cxclll/article/details/126745903 但我发现里面有一个类引不进来(不知道是不是我环境的原因),出于懒,我就想到了一个折中的方法,下面讲。 第二种组合是: 当前项目 SpringBoot 版本是2.7.8,集成的 swagger 版本是2.7.0的版本。 swagger 2.7版本跟最新的也就是样式和交互上的区别,2.9.2 要更扁平化一些。 //SpringBoot版本号 org.springframework.boot spring-boot-starter-parent 2.7.8 //swagger2 版本号 io.springfox springfox-swagger2 2.7.0 然后在项目的resource目录下的 *.yaml 文件中加上:spring.mvc.pathmatch.matching-strategy: ant_path_matcher 现在 Springboot 和 SpringCloud 的配置文件大多都是yaml文件,用上面这种输入可以自动匹配格式。 |
CopyRight 2018-2019 实验室设备网 版权所有 |