今天更新Spring Boot到目前最新GA版本2.6.6后引发启动报了“Failed to start bean ‘documentationPluginsBootstrapper’”,再往下面看到“springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider”就可以断定是跟Swagger相关的问题。
查资料发现是新版本Spring Boot将Spring MVC默认路径匹配策略由AntPathMatcher更改为PathPatternParser,因此我们可以通过配置让其仍使用AntPathMatcher即可。
mvc:
pathmatch:
matching-strategy: ant_path_matcher #解决Failed to start bean 'documentationPluginsBootstrapper'
把Spring Boot改回旧版本也是一种解决方案😂。
另外还可以在启动类加个@EnableWebMvc注解来解决这个问题。
细心的话你会发现上面的截图提示我的swagger可以由2.9.2更新到3.0.0,看了源码库发现引入方式改变了,artifactId改成springfox-boot-starter了,可以移除springfox-swagger2和@EnableSwagger2注解等。
Maven:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
Gradle
implementation "io.springfox:springfox-boot-starter:<version>"
最后你可能也想像我一样修改swagger默认访问URI,可以看我之前写的《修改Swagger访问URL》,这里只是改了引入方式并加个@EnableWebMvc注解和去掉@EnableSwagger2注解,其它没动。
展开阅读全文
上一篇: macOS上安装MySQL