美文网首页
Springfox-data-rest启动报错

Springfox-data-rest启动报错

作者: qiyinger | 来源:发表于2019-03-28 15:50 被阅读0次

    今天使用Springfox-data-rest报错

    [WARN ] 2019-03-28 15:44:16,218 org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'requestMappingHandlerAdapter' defined in class path resource [org/springframework/boot/autoconfigure/web/servlet/WebMvcAutoConfiguration$EnableWebMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter]: Factory method 'requestMappingHandlerAdapter' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration': Bean instantiation via constructor failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration$$EnhancerBySpringCGLIB$$3b178b30]: Constructor threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'halJacksonHttpMessageConverter' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.hateoas.mvc.TypeConstrainedMappingJackson2HttpMessageConverter]: Factory method 'halJacksonHttpMessageConverter' threw exception; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'halObjectMapper' defined in class path resource [org/springframework/data/rest/webmvc/config/RepositoryRestMvcConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.fasterxml.jackson.databind.ObjectMapper]: Factory method 'halObjectMapper' threw exception; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.hateoas.hal.HalConfiguration' available
    

    配置如下:

     <dependency>
          <groupId>io.springfox</groupId>
          <artifactId>springfox-data-rest</artifactId>
        </dependency>
    
    @Configuration
    @EnableSwagger2
    @Import({SpringDataRestConfiguration.class, BeanValidatorPluginsConfiguration.class})
    public class SwaggerConfiguration {
    
      @Bean
      public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
          .select()
          .apis(RequestHandlerSelectors.basePackage("swust.qiy.microservice.management.controller"))
          .paths(PathSelectors.any())
          .build();
      }
    }
    

    查了一下找不到Bean的这个HalConfiguration所在的包hateoas


    image.png

    很奇怪的是一个项目里面为什么要依赖两次这个hateoas pom。。。然后就把这个hateoas exclusion掉,重新添加依赖

    <dependency>
         <groupId>io.springfox</groupId>
         <artifactId>springfox-data-rest</artifactId>
         <exclusions>
           <exclusion>
             <groupId>org.springframework.hateoas</groupId>
             <artifactId>spring-hateoas</artifactId>
           </exclusion>
         </exclusions>
       </dependency>
       <dependency>
         <groupId>org.springframework.hateoas</groupId>
         <artifactId>spring-hateoas</artifactId>
         <version>0.24.0.RELEASE</version>
         <scope>compile</scope>
       </dependency>
    

    然后启动。。成功。。。同时也一脸懵逼

    相关文章

      网友评论

          本文标题:Springfox-data-rest启动报错

          本文链接:https://www.haomeiwen.com/subject/umaqbqtx.html