springboot整合swagger出现了org.springframework.context.ApplicationContextException: Failed to start bean

SpringBoot2.7.x整合Swagger2 时,出现

org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException``

原因是因为springboot2.6.x后与swagger2 3.0.0出现冲突
解决办法:
在Swagger配置类继承WebMvcConfigurationSupport类

@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport{
	......
	......
}

另外需要注意的是,继承了WebMvcConfigurationSupport类后,spring会找不到资源,可以启动测试
项目启动后,访问http://localhost:8080/swagger-ui.html
控制台有如下信息:

14:09:34 WARN  No mapping for GET /emos-wx-api/swagger-ui.html

所以还需在配置类中添加匹配静态资源的方法:

@Configuration
@EnableSwagger2
public class SwaggerConfig extends WebMvcConfigurationSupport{
	......
	......
	
	/**
     * 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源
     *
     * @param registry
     */
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/**")
                .addResourceLocations("classpath:/static/");
        registry.addResourceHandler("swagger-ui.html")
                .addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**")
                .addResourceLocations("classpath:/META-INF/resources/webjars/");
        super.addResourceHandlers(registry);
    }
}

现在启动时访问即可返回swagger页面

参考:
http://t.csdn.cn/BZzvi

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值