SpringBoot和Springfox(Swagger)版本不兼容的解决方案
一.报错信息
org.springframework.context.ApplicationContextException: Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is java.lang.NullPointerException
二.解决方案
根据提供的错误信息和搜索结果,这个问题通常与 Spring Boot 和 Springfox(Swagger)的集成有关。错误提示Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException表明在 Spring Boot 应用启动过程中,documentationPluginsBootstrapper这个 bean 无法正常启动,原因是遇到了空指针异常(NullPointerException)。这通常是由于 Spring Boot 和 Springfox 的版本不兼容导致的路径匹配策略冲突。
1.修改 Spring MVC 的路径匹配策略
修改 Spring MVC 的路径匹配策略:Springfox 假设 Spring MVC 的路径匹配策略是ant-path-matcher,而 Spring Boot 2.6 及以上版本的默认匹配策略是path-pattern-matcher。您可以通过在application.yml或application.properties配置文件中添加以下配置来解决这个问题:
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher
这样可以将 Spring MVC 的路径匹配策略更改为ant-path-matcher,以兼容 Springfox 的要求。
2.配置 WebMvcConfigurer
配置 WebMvcConfigurer:您可以通过创建一个配置类并继承WebMvcConfigurationSupport,然后重写addResourceHandlers方法来解决静态资源路径问题:
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurationSupport {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/**").addResourceLocations(
"classpath:/static/");
registry.addResourceHandler("swagger-ui.html", "doc.html").addResourceLocations(
"classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations(
"classpath:/META-INF/resources/webjars/");
super.addResourceHandlers(registry);
}
}
这样可以确保 Swagger 的静态资源能够被正确加载。
3.检查依赖关系
检查依赖关系:确保您的项目中包含了正确的 Spring Boot Actuator 依赖。如果您使用的是 Maven,可以在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
这有助于确保documentationPluginsBootstrapper bean 能够正确创建。
4.降低 SpringBoot 版本
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.5.6</version> <relativePath/> </parent>
到此这篇关于SpringBoot和Springfox(Swagger)版本不兼容的解决方案的文章就介绍到这了,更多相关SpringBoot和Springfox版本不兼容内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Spring MVC @GetMapping和@PostMapping注解的使用方式
这篇文章主要介绍了Spring MVC @GetMapping和@PostMapping注解的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-05-05
在springboot3微项目中如何用idea批量创建单元测试逻辑
这篇文章主要介绍了在SpringBoot3项目中使用IntelliJIDEA批量创建单元测试包括准备工作(确保项目配置正确,添加测试依赖),使用IntelliJIDEA创建测试,感兴趣的朋友一起看看吧2024-10-10
IntelliJ IDEA 2021 Tomcat 8启动乱码问题的解决步骤
很多朋友遇到过IntelliJ IDEA 2021 Tomcat 8启动的时候出现各种奇葩问题,最近有童鞋反映IntelliJ IDEA 2021 Tomcat 8启动乱码,正好我也遇到这个问题,下面我把解决方法分享给大家需要的朋友参考下吧2021-06-06


最新评论