Springfox Swagger' Whitelabel错误页面' :com.google.common.base.Predicate无法解析

时间:2017-10-05 08:58:03

标签: java swagger swagger-ui

我正在尝试将swagger-ui用于其余服务。我有一个swaggerconfig类,如下所示。

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Bean
    public Docket api(){
         return new Docket(DocumentationType.SWAGGER_2)                                            
                  .apiInfo(apiInfo())
                  .select()
                  .paths(PathSelectors.regex("\\.*"))
                  .build();                 
    }

    @SuppressWarnings("deprecation")
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring REST Sample with Swagger")
                .description("Spring REST Sample with Swagger")
                .termsOfServiceUrl(Open")
                .contact("Niklas Heidloff")
                .license("Apache License Version 2.0")
                .licenseUrl("https://github.com/LICENSE")
                .version("2.0")
                .build();
    }       
}

它在这一行上引发了我的错误

.paths(PathSelectors.regex("\\.*"))

其中说

 The type com.google.common.base.Predicate cannot be resolved. It is indirectly referenced from required .class files

我的问题是:这个lib包含在swagger基础包中。此外,没有一个例子指向明确添加它。

enter image description here

2 个答案:

答案 0 :(得分:0)

我也是!番石榴可能会被Swagger收录。

我解决了在com.google.guava之后从.m2文件夹中删除mvn clean & mvn install的问题。

就像我的本地仓库中一样,番石榴罐已损坏。

答案 1 :(得分:0)

在使用swagger2时,我遇到了Predicate&Collect的相同问题,然后使用了番石榴/ springfox的升级版,然后奏效了,但并不是很好的解决方案。 我更改了最新版本的springfox-boot-starter:3.0.0,没有抛出任何谓词异常。该代码的详细信息,您可以在Google“ springfox入门示例”中找到非常简单的代码

渐变

compile 'io.springfox:springfox-boot-starter:3.0.0'

行家

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-boot-starter</artifactId>
        <version>3.0.0</version>
    </dependency>