springboot艰难版本升级之路!! springboot 2.3.x版本升级到2.7.x版本

文章目录

  • 1.缘起
    • 1.1 升级到版本2.7.12启动失败,而且没有报错信息
    • 1.2 application-dev.yml 配置加载问题
    • 1.3 openfeign依赖问题汇总
    • 1.4 datasource报错
    • 1.5 MySQL驱动升级
    • 1.6 循环依赖报错
    • 1.7 跨域错误
    • 临时总结

1.缘起

由于服务需要搭建链路追踪, 需要把springboot版本升级到2.7.12. 目前服务是2.3.x.
springboot版本 有几个版本改动是比较大的. 2.4.x/3.0.x 这两个版本具有一定的跨度.
由于我们服务使用springboot的版本太低了. 因此注定升级之路就是不平坦的

下面将我遇到的问题以及解决方案, 一一贴在下面

1.1 升级到版本2.7.12启动失败,而且没有报错信息

步骤:

开始是直接把springboot的版本改到了2.7.12

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.7.12</version><relativePath/> <!-- lookup parent from repository -->
</parent>

现象:

无任何有用的报错信息
启动没有任何提示信息,但启动不了.

解决方案:

进过断点调试,发现是springcloud 版本对应有问题,将springcloud的版本改为:
<spring-cloud.version>2021.0.3</spring-cloud.version>
并且将 spring-cloud-alibaba.version 的版本改为
<spring-cloud-alibaba.version>2021.0.5.0</spring-cloud-alibaba.version>

1.2 application-dev.yml 配置加载问题

现象:

在这里插入图片描述
解决方案:

在配置中添加 spring.config.use-legacy-processing: true . 为了兼容老的加载配置文件

1.3 openfeign依赖问题汇总

现象1:

启动接着报错.

Caused by: java.io.FileNotFoundException: class path resource [feign/hystrix/FallbackFactory.class] cannot be opened because it does not exist
在这里插入图片描述

现象2:

Caused by: java.io.FileNotFoundException: class path resource [org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class] cannot be opened because it does not exist
在这里插入图片描述

解决方案:

升级 openfeign, 以及ribbon版本

		<openfeign.version>3.1.3</openfeign.version><ribbon.version>2.2.10.RELEASE</ribbon.version>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/70778.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux SIGCHLD信号

在子进程结束之后&#xff0c;会默认给父进程发送SIGCHLD信号。 有以下代码&#xff1a; 编译并运行以上代码&#xff1a; 可以看到在子进程结束之后&#xff0c;将SIGCHLD信号发送给了父进程&#xff0c;然后输出SIGCHLD信号的代号17。 在后台运行以上代码并查看进程信息&am…

深入了解 Rancher Desktop 设置

Rancher Desktop 设置的全面概述 Rancher Desktop 拥有方便、强大的功能&#xff0c;是最佳的开发者工具之一&#xff0c;也是在本地构建和部署 Kubernetes 的最快捷方式。 本文将介绍 Rancher Desktop 的功能和特性&#xff0c;以及 Rancher Desktop 作为容器管理平台和本地…

File Inclusion

File Inclusion 服务器执行PHP文件时&#xff0c;可以通过文件包含函数加载另一个文件中的PHP代码&#xff0c;并且当PHP来执行&#xff0c;这会为开发者节省大量的时间。这意味着您可以创建供所有网页引用的标准页眉或菜单文件。当页眉需要更新时&#xff0c;您只更新一个包含…

JavaScript常见语法--菜鸟教程

文章目录 JavaScript 语法<body> 中的 JavaScript JavaScript 输出使用 window.alert()操作 HTML 元素写到 HTML 文档写到控制台 JavaScript 语法JavaScript 字面量JavaScript 变量JavaScript 操作符JavaScript 语句JavaScript 字符集JavaScript判断类型 JavaScript数据类…

【TypeScript】进阶之路语法细节,类型和函数

进阶之路 类型别名(type)的使用接口(interface)的声明的使用二者区别&#xff1a; 联合类型和交叉类型联合类型交叉类型 类型断言获取DOM元素 非空类型断言字面量类型的使用类型缩小&#xff08;类型收窄&#xff09;TypeScript 函数类型函数类型表达式内部规则检测函数的调用签…

spring框架之AOP模块,附带通知类型-----详细介绍

一&#xff0c;AOP简介 是Spring框架中的一个重要模块&#xff0c;它提供了一种通过面向切面编程的方式来实现横切关注点的模块化的方法。AOP可以将应用程序的核心业务逻辑与横切关注点&#xff08;如日志记录、事务管理、安全性等&#xff09;分离开来&#xff0c;从而提高代码…

android Ndk Jni动态注册方式以及静态注册

目录 一.静态注册方式 二.动态注册方式 三.源代码 一.静态注册方式 1.项目名\app\src\main下新建一个jni目录 2.在jni目录下,再新建一个Android.mk文件 写入以下配置 LOCAL_PATH := $(call my-dir)//获取当前Android.mk所在目录 inclu

pytest运行时参数说明,pytest详解,pytest.ini详解

一、Pytest简介 1.pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要有一下几个特点&#xff1a; 简单灵活&#xff0c;容易上手&#xff0c;支持参数化 2.能够支持简单的单元测试和复杂的功能测试&#xff0c;还可以用来做selenium、appium等自动化测试&#xf…

CentOS系统环境搭建(五)——Centos7安装maven

centos系统环境搭建专栏&#x1f517;点击跳转 Centos7安装maven 下载压缩包 maven下载官网 解压 压缩包放置到/usr/local tar -xvf apache-maven-3.9.2-bin.tar.gz配置环境变量 vim /etc/profile在最下面追加 MAVEN_HOME/usr/local/apache-maven-3.9.2 export PATH${MAV…

Linux系统之wget命令的基本使用

Linux系统之wget命令的基本使用 一、wget命令介绍二、本次实践环境三、wget命令的使用帮助3.1 wget命令的基本语法3.2 wget选项解释 四、安装wget工具4.1 检查yum仓库状态4.2 安装wget工具 五、wget命令的基本使用5.1 直接下载文件5.2 下载时指定文件名5.3 后台下载文件5.4 限速…

Oracle外部表ORACLE_LOADER方式加载数据

当数据源为文本或其它csv文件时&#xff0c;oracle可通过使用外部表加载数据方式&#xff0c;不需要导入可直接查询文件内的数据。 1、如下有一个文件名为&#xff1a;test1.txt 的数据文件。数据文件内容为&#xff1a; 2、使用sys授权hr用户可读写 DATA_PUMP_DIR 目录权限&a…

修改文件内容

修改文件内容 按照下方所述&#xff0c;创建一个名为 /home/curtis/ansible/issue.yml 的 playbook &#xff1a; 该 playbook 将在所有清单主机上运行 该 playbook 会将 /etc/issue 的内容替换为下方所示的一行文本&#xff1a; 在 dev 主机组中的主机上&#xff0c;这行文本…