gateWay网关配置问题Failed to bind properties under ‘spring.cloud.gateway‘ to org.springframework.cloud.gat
我个人使用的Nacos作为微服务注册中配置的GateWay一下是我配置时出现的问题解决方案第一处需要修改的地方:修改自己的配置文件名称(如果你的是bootstrap.yml单独一个就改,如果是两个一个bootstrap.yml和application.yml可能没啥问题)第二处需要修改的地方:项目的依赖pom地方我的springboot使用的2.3.2的版本需要这俩个看看自己缺哪个或者直接复制到自
1.启动gateway项目的时候报错如下:
Add an implementation, such as Hibernate Validator, to the classpath
翻译:将实现(例如Hibernate Validator)添加到类路径
意思就是让我导入上图我注释掉的那个依赖呗,可是按照他的吩咐导入之后又出现如下错误:
2.Failed to bind properties under ‘spring.cloud.gateway.routes[0]’
Failed to bind properties under ‘spring.cloud.gateway.routes[0]’ to org.springframework.cloud.gateway.route.RouteDefinition
翻译:在“spring.cloud.gateway”下绑定属性失败。路线org.springframework.cloud.gateway.route.RouteDefinition[0]”
他说配置文件中的标签未能绑定,那么我们就看一下这个配置文件中的内容,怎么回事儿,为啥就不能绑定了呢???
spring:
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: qq_route
uri: lb://loonmall-coupon
# 访问:http://localhost:88/coupon/coupon/member/list 即可路由到:http://localhost:loonmall-coupon/coupon/coupon/member/list
# 访问gateway端口下的/coupon/coupon/**路径即可路由到uri的目标路径,可以理解为用户访问网关的请求由网关分发的目标服务
predicates:
- Path=/coupon/coupon/**
上面代码是gateway的配置文件(正确的,没有任何问题),报错的意思就是routes下面的标签属性不能够绑定,可是这是我网关的关键所在啊。咋办哪,我特意将routes下面的内容注释掉试了一下,发现,诶!真tm的好了,项目能起来了,并且没报错,可是这样我的网关路由还怎么用呐。
**
最终解决方法 最终解决方法 最终解决方法
**
把我图中的那两个依赖全部注释掉即可
简单说一下这俩注解:第一个(validation-api)是我主动引入的,他是SpingBoot2开始已经内置了的依赖,作用是坐校验的,有一些AIP经常在业务中使用。第二个(hibernate-validator)是错误提示让我被动引入的,它作用是同上,也是做校验的,但是如果真的用到了这个依赖,引入它一个往往是不够的,它还有两个相互依赖的,要一同导入,不具体说了。
3.SpringMVC和gateway冲突问题!!!
Spring MVC found on classpath, which is incompatible with Spring Cloud Gateway at this time. Please remove spring-boot-starter-web dependency.
这个错误比较明显:Spring MVC在类路径中找到,目前与Spring Cloud Gateway不兼容。请删除spring-boot-starter-web依赖项。
因为我是将所有的公用依赖都引入到了common管理,所以gateway引入common模块之后,由于依赖传递性的原因,导致gateway也引入了spring-boot-starter-web这个依赖。
解决方法:我不想每个项目都引入web依赖,所以我直接在gateway中把common中的web依赖给去除了,方式如下:
<!-- common公用依赖-->
<dependency>
<groupId>com.loonmall</groupId>
<artifactId>loonmall-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<!-- gateway和spingMVC依赖冲突,使用exclusions去除它-->
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</exclusions>
</dependency>
很多时候依赖冲突也会导致项目启动不了,不止是这些依赖
作者:搬砖达人呐
链接:https://www.jianshu.com/p/7155b420ff16
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
更多推荐
所有评论(0)