【IDEA报错】Failed to start bean ‘documentationPluginsBootstrapper‘问题及解决方案

时间:2025-03-21 08:22:14

使用springfox-swagger2进行接口文档输出

编写配置文件Swagger2Config


@Configuration
@EnableSwagger2
public class Swagger2Config {

    @Bean
    public Docket coreApiConfig(){
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(adminApiInfo())
                .groupName("adminApi")
                .select()
                .apis((""))
                .paths(())
                .build();
    }

    private ApiInfo adminApiInfo(){
        return new ApiInfoBuilder()
                .title("summy文档")
                .description("summy参考文档")
                .contact(new Contact("summy","",""))
                .version("1.0")
                .build();
    }

}

controller操作

@RestController
@RequestMapping("/test")
@Api(value = "测试一下")
public class TestController {
    @Autowired
    private RestTemplate restTemplate;

    @GetMapping("/userinfo")
    @ApiOperation("获取用户列表信息")
    public String getUserInfo(){
        UserInfo[] UserInfos = ("http://test/userinfo/{page}/{pagesize}", UserInfo[].class, 0, 4);

        List<UserInfo> UserInfoList = (UserInfos);

        return "ok";
    }
}

却出现报错:Failed to start bean ‘documentationPluginsBootstrapper‘ 

首先查看guava版本是否一致,经检查,项目guava和swagger的guava并不一致

这个时候在 

<dependencyManagement></dependencyManagement>内添加
<dependency>
   <groupId></groupId>
   <artifactId>guava</artifactId>
   <version>23.0</version>
</dependency>

使得项目guava和swagger的guava一致

重新启动,发现还是报错,百度发现:因为Springfox使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.使用的是PathPatternMatcher。

而我使用的Spring Boot正好是2.6版本以上,所以

在里配置:-strategy=ANT_PATH_MATCHER。

或者yml配置:
mvc:
pathmatch:
matching-strategy: ANT_PATH_MATCHER

再次启动项目,成功运行


总结

项目启动时出现问题,很可能是版本不对应,其次也可能是新版本的一些配置做改动