iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >gateway与spring-boot-starter-web冲突问题的解决
  • 532
分享到

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

2024-04-02 19:04:59 532人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

gateway与spring-boot-starter-WEB 冲突 环境: SpringCloud 版本 ---- Finchley.SR2 SpringBoot 版本 ----

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

问题分析:

查看控制台打印日志

可以看到是 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 网关版本冲突问题

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>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

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

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

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

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

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

下载Word文档
猜你喜欢
  • gateway与spring-boot-starter-web冲突问题的解决
    gateway与spring-boot-starter-web 冲突 环境: SpringCloud 版本 ---- Finchley.SR2 SpringBoot 版本 ---- ...
    99+
    2022-11-12
  • 如何解决gateway与spring-boot-starter-web冲突问题
    本篇内容介绍了“如何解决gateway与spring-boot-starter-web冲突问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!...
    99+
    2023-06-20
  • 解决docker与vmware的冲突问题
    1、docker启动问题: 问题解决: 需要开启Hyper-V,(开启方法:控制面板->程序->程序和功能->启动或关闭Windows功能,然后再重新启动电脑) ...
    99+
    2022-11-11
  • 如何解决Spring Cloud 服务冲突问题
    本篇文章为大家展示了如何解决Spring Cloud 服务冲突问题,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、背景在我们开发微服务架构系统时,虽然说每个微服务都是孤立的可以单独开发,但实际上并...
    99+
    2023-06-04
  • 如何解决docker与vmware的冲突问题
    这篇文章给大家分享的是有关如何解决docker与vmware的冲突问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、docker启动问题:问题解决:需要开启Hyper-V,(开启方法:控制面板->程序-...
    99+
    2023-06-14
  • 解决Hmily与Feign冲突报错 NullPointerException的问题
    目录Hmily与Feign冲突报错 NullPointerException解决方法java.lang.NullPointerException出现的几种原因及解决出现的原因Hmil...
    99+
    2022-11-12
  • spring security与corsFilter冲突的解决方案
    目录spring security与corsFilter冲突问题解决方案springboot解决跨域问题(CorsConfig)项目实践小结一下spring security与cor...
    99+
    2022-11-12
  • Android 中ScrollView与ListView冲突问题的解决办法
    Android 中ScrollView与ListView冲突问题的解决办法自定义MyListViewpublic class MyListView extends ListView { public MyListView(Context...
    99+
    2023-05-30
    android scrollview listview
  • Bootstrap与UEditor中Css冲突问题怎么解决
    这篇“Bootstrap与UEditor中Css冲突问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面...
    99+
    2022-10-19
  • Mybatis-plus与Mybatis依赖冲突问题解决方法
    错误描述 An attempt was made to call a method that does not exist. The attempt was made from t...
    99+
    2022-11-12
  • 解决Mybatis中mapper的ID冲突问题
    mapper 的id冲突原因: 原因一: 在同一个mapper.xml中存在相同的ID 原因二: 同时使用了xml配置和注解配置 解决方案: 只保留xml或者注解即可!!! Myb...
    99+
    2022-11-12
  • 解决spring boot网关gateway导致的坑,无法下载文件问题
    话不多说,直接上图 接口返回内容,浏览器显示PDF文档。但是输入接口地址以后一直提示这个 核对接口路径也是正确的,并且没有报错提示,后面发现是网关没有配置放行路径,于是进行了补充...
    99+
    2022-11-12
  • React样式冲突解决问题的方法
    目录前言:CSS IN JS一、概念二、CSS Modules三、在项目中使用css Modules四、css module配合sass五、module.scss 使用步骤:六、总结...
    99+
    2023-03-10
    React样式冲突 React样式
  • Android滑动冲突问题的解决方法
    叙述 滑动冲突可以说是日常开发中比较常见的一类问题,也是比较让人头疼的一类问题,尤其是在使用第三方框架的时候,两个原本完美的控件,组合在一起之后,忽然发现整个世界都不好了。 ...
    99+
    2022-06-06
    方法 Android
  • 解决SpringBoot中MultipartResolver和ServletFileUpload的冲突问题
    目录MultipartResolver和ServletFileUpload冲突1.首先spring boot默认会调用MultipartResolver2.需要重写一个MyMulti...
    99+
    2022-11-12
  • 怎么解决Git合并冲突的问题
    本篇内容介绍了“怎么解决Git合并冲突的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!合并并不仅仅是简单的文件添加、移除的操作,Git ...
    99+
    2023-06-04
  • css样式冲突的问题如何解决
    本篇内容介绍了“css样式冲突的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、 细化选择符通过使用组合器(Combinato...
    99+
    2023-06-20
  • mysql主键冲突的问题如何解决
    本篇内容介绍了“mysql主键冲突的问题如何解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!说明忽略冲突保留原始记录。冲突更新冲突后部分字...
    99+
    2023-06-20
  • Anaconda3的安装以及解决与原生Python冲突的问题
    Anaconda3的安装以及解决与原生Python冲突的问题 文章目录 Anaconda3的安装以及解决与原生Python冲突的问题一、Anaconda介绍Anaconda与python的关系...
    99+
    2023-09-22
    python Anaconda
  • 解决Spring JPA 使用@transaction注解时产生CGLIB代理冲突问题
    Spring JPA 使用@transaction注解时产生CGLIB代理冲突 在使用JPA进行数据库的删除操作时需要使用@Transactional注解来支持事物: @Mod...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作