iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >如何解决gateway与spring-boot-starter-web冲突问题
  • 745
分享到

如何解决gateway与spring-boot-starter-web冲突问题

2023-06-20 15:06:43 745人浏览 安东尼
摘要

本篇内容介绍了“如何解决gateway与spring-boot-starter-WEB冲突问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

本篇内容介绍了“如何解决gateway与spring-boot-starter-WEB冲突问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

gateway与spring-boot-starter-web 冲突

环境:

SpringCloud 版本 ---- Finchley.SR2

SpringBoot 版本 ---- 2.0.6.RELEASE

问题描述:

将 zuul 网关升级为 gateway 时,引入gateway 依赖启动网关子项目报错

引入的依赖:

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-gateway</artifactId></dependency>

启动网关报错

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-12-31 10:26:35.211 ERROR 13124 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:
Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.Http.codec.ServerCodecConfigurer' that could not be found.

Action:
Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.
Process finished with exit code 1

问题分析:

查看控制台打印日志

如何解决gateway与spring-boot-starter-web冲突问题

可以看到是 web 依赖下的 Tomcat 容器启动失败,且打印出 NIO 异常。

回顾一下 zuul 和 gateway 的区别

Zuul: 构建于 Servlet 2.5,兼容3.x,使用的是阻塞式的api,不支持长连接,比如 websockets。

Gateway构建于 Spring 5+,基于 Spring Boot 2.x 响应式的、非阻塞式的 API。同时,它支持 webSockets,和 Spring 框架紧密集成

报错原因:启动时默认使用了 spring-boot-starter-web 的内置容器,不支持非阻塞

问题解决:

有两种解决方式:

1、 排除 web 内置容器
<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId>    <!-- Maven整个生命周期内排除内置容器,排除内置容器导出成war包可以让外部容器运行spring-boot项目-->    <exclusions>        <exclusion>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-tomcat</artifactId>        </exclusion>    </exclusions></dependency>
2、使用 spring-webflux 模块

webflux 有一个全新的非堵塞的函数式 Reactive Web 框架,可以用来构建异步的、非堵塞的、事件驱动的服务

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-webflux</artifactId></dependency>

成功启动项目

如何解决gateway与spring-boot-starter-web冲突问题

gateway 网关版本冲突问题

1、spring-cloud版本

<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>

2、sprring-boot版本

<version>2.0.3.RELEASE</version>

3、错误描述

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2019-05-21 16:53:50.138 ERROR 15308 --- [           main] o.s.b.d.LoggingFailureAnalysisReporter   :

***************************
APPLICATION FAILED TO START
***************************

Description:
Parameter 0 of method modifyRequestBodyGatewayFilterFactory in org.springframework.cloud.gateway.config.GatewayAutoConfiguration required a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' that could not be found.

Action:
Consider defining a bean of type 'org.springframework.http.codec.ServerCodecConfigurer' in your configuration.

4、原因

<dependency>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-web</artifactId></dependency>

<dependency>     <groupId>org.springframework.cloud</groupId>     <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>

版本冲突

5、解决

可以删除:

<dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId></dependency>

“如何解决gateway与spring-boot-starter-web冲突问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何解决gateway与spring-boot-starter-web冲突问题

本文链接: https://www.lsjlt.com/news/298233.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何解决gateway与spring-boot-starter-web冲突问题
    本篇内容介绍了“如何解决gateway与spring-boot-starter-web冲突问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-20
  • gateway与spring-boot-starter-web冲突问题的解决
    gateway与spring-boot-starter-web 冲突 环境: SpringCloud 版本 ---- Finchley.SR2 SpringBoot 版本 ---- ...
    99+
    2022-11-12
  • 如何解决Spring Cloud 服务冲突问题
    本篇文章为大家展示了如何解决Spring Cloud 服务冲突问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、背景在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并...
    99+
    2023-06-04
  • 如何解决docker与vmware的冲突问题
    这篇文章给大家分享的是有关如何解决docker与vmware的冲突问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、docker启动问题:问题解决:需要开启Hyper-V,(开启方法:控制面板->程序-...
    99+
    2023-06-14
  • React样式冲突解决问题如何解决
    本篇内容主要讲解“React样式冲突解决问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React样式冲突解决问题如何解决”吧!前言:React最终编译打包后都在一个html页面中,如...
    99+
    2023-07-05
  • maven冲突依赖问题如何解决
    Maven冲突依赖问题可以通过以下方法解决: 使用`mvn dependency:tree`命令查看项目的依赖树,找到冲突的依赖...
    99+
    2023-10-27
    maven
  • git提交冲突问题如何解决
    解决 Git 提交冲突问题一般有以下几个步骤: 确定冲突的文件:在使用 Git 进行提交时,可能会出现冲突的文件。使用 `git...
    99+
    2023-10-26
    git
  • 如何解决css样式冲突问题
    本篇内容主要讲解“如何解决css样式冲突问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何解决css样式冲突问题”吧! 解决方法...
    99+
    2022-10-19
  • ubuntu双网卡冲突问题如何解决
    要解决Ubuntu双网卡冲突问题,可以尝试以下步骤:1. 确定冲突:使用命令`ifconfig`或`ip addr`查看当前系统中的...
    99+
    2023-10-10
    ubuntu
  • 如何解决springboot-启动bean冲突问题
    小编给大家分享一下如何解决springboot-启动bean冲突问题,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!启动bean冲突在一次启动中遇到了bean冲突的问题,提示存在两个名称重复的beanorg.springfr...
    99+
    2023-06-29
  • css样式冲突的问题如何解决
    本篇内容介绍了“css样式冲突的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、 细化选择符通过使用组合器(Combinato...
    99+
    2023-06-20
  • mysql主键冲突的问题如何解决
    本篇内容介绍了“mysql主键冲突的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明忽略冲突保留原始记录。冲突更新冲突后部分字...
    99+
    2023-06-20
  • 如何定位、解决maven依赖冲突问题
    目录 1.依赖冲突的原因 2.复现一个依赖冲突场景 3.如何定位依赖冲突 3.1.maven show dependencies 3.2.maven helper 4.依赖路径最短优先原则 1.依赖冲突的原因 如果maven项目中,A依...
    99+
    2023-09-03
    算法 linux 前端 原力计划
  • mac上ip地址冲突问题如何解决
    在Mac上解决IP地址冲突问题,您可以尝试以下几种方法:1. 重启网络设备:首先,您可以尝试重启您的路由器、交换机或其他网络设备。有...
    99+
    2023-10-10
    mac
  • VSCode中Eslint和Prettier冲突问题如何解决
    这篇文章主要讲解了“VSCode中Eslint和Prettier冲突问题如何解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“VSCode中Eslint和Prettier冲突问题如何解决”吧...
    99+
    2023-07-05
  • Spring Cloud Gateway内存溢出问题如何解决
    本篇内容主要讲解“Spring Cloud Gateway内存溢出问题如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Cloud Gateway内存溢出问题如何解决”吧!记 ...
    99+
    2023-06-20
  • 如何解决JS中touchstart事件与click事件冲突的问题
    这篇文章主要介绍了如何解决JS中touchstart事件与click事件冲突的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言移动互联...
    99+
    2022-10-19
  • 如何解决Spring JPA 使用@transaction注解时产生CGLIB代理冲突问题
    本篇内容介绍了“如何解决Spring JPA 使用@transaction注解时产生CGLIB代理冲突问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能...
    99+
    2023-06-20
  • 如何解决spring-boot使用logback的问题
    这篇文章主要介绍了如何解决spring-boot使用logback的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。用ConsoleAppender.java来举例,假设在...
    99+
    2023-06-20
  • 如何解决layui中form表单与button的点击事件冲突问题
    这篇文章给大家分享的是有关如何解决layui中form表单与button的点击事件冲突问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。layui的form表单位置和button...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作