- 问题描述:在某个微服务引入swagger2后,出现了SpringBoot启动失败现象,描述如下:
Failed to introspect Class [springfox.documentation.swagger2.configuration.Swagger2DocumentationConf
- 方法一:通过和其他微服务的pom.xml文件对比发现少了以下依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
- 方法二:在配置文件中加入
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
4.方法三:创建配置类
package com.clesun.brandarchive.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurationSupport;
/**
* 解决高版本springboot整合swagger启动报错Failed to start bean 'documentationPluginsBootstrapper' 问题
* @author Administrator
*/
@Configuration
public class WebMvcConfigurer extends WebMvcConfigurationSupport {
/**
* 发现如果继承了WebMvcConfigurationSupport,则在yml中配置的相关内容会失效。 需要重新指定静态资源
* @param registry
*/
@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);
}
}