zoukankan      html  css  js  c++  java
  • SpringCloud:gateway网关模块启动报错

    1.错误信息

    org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'routeDefinitionRouteLocator' defined in class path resource [org/springframework/cloud/gateway/config/GatewayAutoConfiguration.class]: Unsatisfied dependency expressed through method 'routeDefinitionRouteLocator' parameter 4; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.core.convert.ConversionService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=webFluxConversionService)}
       
    Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'org.springframework.core.convert.ConversionService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=webFluxConversionService)}
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1662) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1221) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1175) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.10.RELEASE.jar:5.1.10.RELEASE]
        ... 19 common frames omitted

    2.原因

    同时引入依赖:spring-cloud-starter-gateway 和 spring-boot-starter-web

    在gateway中已经引用了web模块,因此会造成冲突,这个原因我之前在学习gateway时其实已经注意到了,但是依旧报错

    pom.xml文件如下

    <dependencies>
            <dependency>
                <groupId>com.fdzang.microservice</groupId>
                <artifactId>api-common</artifactId>
                <version>1.0-SNAPSHOT</version>
            </dependency>
    <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> <version>${spring.cloud.starter.version}</version> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>${spring.cloud.starter.version}</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <version>${spring.boot.version}</version> <optional>true</optional> </dependency> </dependencies>

    在我的pom中并未依赖web模块,依旧报错,于是尝试在gateway中排除web,无果,遂百度。

    经历了各种尝试之后,我发现我引用的公共模块common中引用了web模块,破案了

    于是移除

    <dependency>
      <groupId>com.fdzang.microservice</groupId>
      <artifactId>api-common</artifactId>
      <version>1.0-SNAPSHOT</version>
      <exclusions>
        <exclusion>
          <groupId>org.springframework.boot</groupId>
          <artifactId>spring-boot-starter-web</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

    运行成功。

  • 相关阅读:
    js 绑定事件没有触发的离奇事件
    TweenMax 中 tweenTo
    TweenMax 中 to,staggerTo 的第 4 、5 个参数
    Mongodb 数据库操作
    cocos2dx骨骼动画Armature源码分析(一)
    TexturePacker大图还原成小图工具带源码
    通过JavaScript原型链理解基于原型的编程
    webpack 之(25) output配置详解
    webpack 之(24) entry配置详解
    webpack 之(23) 优化配置 总结
  • 原文地址:https://www.cnblogs.com/fdzang/p/11799492.html
Copyright © 2011-2022 走看看