springboot从2.7.2 升级到 3.3.0

文章目录

    • 概要
    • 准备
    • 报错调整
    • 小结
    • 后记

概要

时代在进步,springboot已经来到了3.3.0 , 于是我们也打算升级下sbvadmin到3.3, jdk使用21的版本,下面是升级过程中碰到的一些问题,问题不大。
2.7.2 -> 3.3.0

准备

  • 下载jdk21,可以直接用idea,新建项目的时候下载

在这里插入图片描述
我下了zulu-21

或者 也可以到这里下载 https://learn.microsoft.com/en-us/java/openjdk/download#openjdk-21

  • 修改项目sdk
    这里能修改的都要修改掉
    在这里插入图片描述

  • 修改springboot的版本

    <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.0</version><relativePath/></parent>

报错调整

import javax.validation.constraints.NotNull;

改为
import jakarta.validation.constraints.NotNull;

这里有很多类似的报错,把 javax改成jakarta就可以了


Cannot resolve method 'antMatchers' in 'IgnoredRequestConfigurer'

用 requestMatchers() 替代 antMatchers() 即可

Error processing condition on de.codecentric.boot.admin.client.config.SpringBootAdminClientAutoConfiguration.registrator

 <dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-client</artifactId><version>3.2.3</version></dependency>
改成 3.2.3
https://github.com/codecentric/spring-boot-admin

Invalid value type for attribute 'factoryBeanObjectType': java.lang.String

改为<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-spring-boot3-starter</artifactId><version>3.5.6</version></dependency>https://github.com/baomidou/mybatis-plus

Attempt to deserialize unauthorized class java.util.HashMap; add allowed class name patterns to the message converter or, if you trust the message originator, set environment variable 'SPRING_AMQP_DESERIALIZATION_TRUST_ALL' or system property 'spring.amqp.deserialization.trust.all' to true

Spring Boot 3 不再支持 application/x-java-serialized-object 格式的序列化传输,这是因为该格式与安全最佳实践不兼容,而且 Java 序列化机制存在安全隐患。

package com.sbvadmin.mailserver.config;import org.springframework.amqp.support.converter.DefaultClassMapper;
import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class RabbitMQConfig {@Beanpublic MessageConverter MessageConverter() {return new Jackson2JsonMessageConverter();}
}https://blog.csdn.net/m0_64694079/article/details/134935219   看评论

小结

搞定!

Spring Boot 3.3 正式发布,王炸级更新,应用启动速度直接起飞!

后记

jdk21的版本可以运行,但是我打包的时候一直提示我:

[INFO] --- maven-compiler-plugin:3.13.0:compile (default-compile) @ admin-common ---
[INFO] Recompiling the module because of changed source code.
[INFO] Compiling 6 source files with javac [debug parameters release 17] to target/classesFailed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.13.0:compile (default-compile) on project admin-common: Fatal error compiling: 无效的目标发行版: 21 -> [Help 1]

从报错来看应该是编译的时候用javac 的jdk17 ,但我没找到如何改成21的地方。于是我改成了17来编译,但还是报错。后来发现用鼠标直接点clean 和 package是没问题的,但用命令跑就不行

mvn -B -DskipTests clean package -P prod

于是google了下,找到解决方案:https://www.codejava.net/tools/maven/fix-error-invalid-target-release
其实跑下

mvn -v 

就能知道是,环境变量的问题。 这个问题算解决了。

不过Compiling 6 source files with javac [debug parameters release 17] to target/classes 这里的17我一直没改成功到21。这个问题后续再看吧

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

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

相关文章

接口框架项目实战-pytest(六)csv数据驱动

csv 数据驱动 为了解决数据量大 导致yaml文件重复太多 yaml_util.py import osimport jsonpath import yamlfrom pytestdemo.common.base_util import get_path from pytestdemo.common.csv_util import analysis_parametersdef read_config_file(one_node,two_node):with ope…

windows的软件修改图标

要修改一个可执行文件&#xff08;.exe&#xff09;的图标&#xff0c;你可以使用 Resource Hacker 这样的工具。Resource Hacker 是一个免费的资源编辑器&#xff0c;可以用于修改和编辑 Windows 可执行文件中的资源。 以下是一个简单的步骤来修改一个 .exe 文件的图标&#x…

shell脚本 字符串拼接变量赋值失效

问题现象&#xff1a; 代码如下&#xff1a; 执行结果&#xff1a; 可以看到data_dir属性是有值的&#xff0c;但是做字符串拼接变量赋值失效了很奇怪 怀疑赋值哪里写错了 问题分析&#xff1a; 1. 还是觉得赋值没有问题&#xff0c;手动显式赋值再执行下 执行结果&#…

职场如同“染缸”,老板只是给你个平台,染的好坏,全凭运气!

无论哪个单位&#xff0c;在职场大染缸里总有那么一拨同事是你喜欢的&#xff0c;也有那么一拨同事是不痛不痒的&#xff0c;还有那么一拨同事却是你怎么看都觉得不顺眼的。“不顺眼”的定义很宽泛&#xff0c;可能是他曾经的一些言论触及了你的道德底线&#xff0c;可能是他的…

100vh问题及解决方案

100vh 问题通常出现在移动端浏览器中&#xff0c;尤其是当你使用 100vh 设定元素高度时。这是因为移动端浏览器在显示视口高度时会包括地址栏和工具栏&#xff0c;这些栏在滚动时会隐藏&#xff0c;从而导致视口高度发生变化&#xff0c;影响布局。 具体问题 高度不稳定&…

C++数据结构之:堆Heap

摘要&#xff1a; it人员无论是使用哪种高级语言开发东东&#xff0c;想要更高效有层次的开发程序的话都躲不开三件套&#xff1a;数据结构&#xff0c;算法和设计模式。数据结构是相互之间存在一种或多种特定关系的数据元素的集合&#xff0c;即带“结构”的数据元素的集合&am…

【Qt】win10,QTableWidget表头下无分隔线的问题

1. 现象 2. 原因 win10系统的UI样式默认是这样的。 3. 解决 - 方法1 //横向表头ui->table->horizontalHeader()->setStyleSheet("QHeaderView::section{""border-top:0px solid #E5E5E5;""border-left:0px solid #E5E5E5;""bord…

Python与Excel的完美结合:操作技巧与自动化应用

本文全面探讨了使用Python进行Excel操作的各种技巧和自动化应用&#xff0c;包括基础操作、高级数据处理、图表创建、自动化任务等。通过详细介绍Python在Excel中的应用&#xff0c;结合实际案例&#xff0c;帮助读者深入理解并掌握Python处理Excel文件的强大功能。 文章目录 P…

Matlab|【重磅】配电网故障重构/孤岛划分

目录 1 主要内容 1.1 背景 1.2 流程图 2 部分代码 3 程序结果 4 下载链接 1 主要内容 程序主要复现《基于GA_BFGS算法的配电网故障恢复性重构研究_郑海广》&#xff0c;采用matlab编程软件实现&#xff0c;依据网络结构和DG供电方式对配电网进行孤岛划分&#xff0c;将含…

政府窗口服务第三方评估报告如何写

撰写政府窗口服务第三方评估报告需要结构清晰、内容详实&#xff0c;并包含对评估过程和结果的详细描述以及改进建议。以下是第三方评估机构民安智库&#xff08;第三方社会评估调研公司&#xff09;给出的一个政府窗口服务第三方评估报告简单的示例&#xff1a; 一、封面 报…

【算法训练记录——Day24】

Day24——回溯算法Ⅰ 77.组合 今日内容&#xff1a; ● 理论基础 ● 77. 组合 理论&#xff1a;代码随想录 77.组合 思路&#xff1a;k层for循环&#xff0c;不会 回溯&#xff0c;将组合问题抽象成n叉树&#xff0c;for循环控制宽度&#xff0c;递归的深度控制二叉树的深度 …

CSS学习笔记之高级教程(五)

23、CSS 媒体查询 - 实例 /* 如果屏幕尺寸超过 600 像素&#xff0c;把 <div> 的字体大小设置为 80 像素 */ media screen and (min-width: 600px) {div.example {font-size: 80px;} }/* 如果屏幕大小为 600px 或更小&#xff0c;把 <div> 的字体大小设置为 30px …

c++面试(数位物联)

1.const 关健字的作用 定义常量&#xff0c;防止变量被意外修改&#xff0c;增强程序的可读性和维护性。 可以用于指针&#xff0c;声明指向常量的指针或常量指针。 2.static关健字的作用 (1)在函数内&#xff0c;用于修饰局部变量&#xff0c;使其生命周期延长到整个程序运行期…

程序员的五大职业素养,你知道吗?

程序员职业生涯的挑战与机遇 在当今这个科技日新月异的时代&#xff0c;程序员作为技术行业的中坚力量&#xff0c;其职业生涯无疑充满了无数挑战与机遇。技术的快速迭代要求他们必须不断学习新知识、掌握新技能&#xff0c;以跟上时代的步伐。同时&#xff0c;云计算、人工智…

Flask、uWSGI和Nginx在Web服务器架构中的职责

Flask、uWSGI和Nginx在Web服务器架构中的职责 Flask自带的开发服务器 当你启动一个基础版的Flask应用时&#xff1a; Flask自带一个基于Werkzeug的开发服务器。(默认监听的端口是 5000)这个服务器适用于开发和调试环境&#xff0c;但不适合用于生产环境&#xff0c;因为它在…

新能源汽车企业的图纸防泄密解决方案

今年新能源汽车行业在现在国内的发展已经趋于成熟化&#xff0c;随着小米雷军宣布进入造车行业&#xff0c;互联网大的企业都在互联网汽车中布局&#xff0c;为了给汽车消费者提供更新的安全驾驶体验&#xff0c;很多自动驾驶技术也在不断的更新换代。新能源自动驾驶汽车很显然…

学习经验分享篇(1)——怎样将示波器数据(.CSV数据)导入Matlab/Simulink中并进行FFT分析(电机控制/电力电子方向必备技能)

最近比较忙&#xff0c;没怎么更新&#xff0c;后续打算不断出一些学习贴。 1.为什么要出这篇文章&#xff1f; &#xff08;1&#xff09;我当时第一次导示波器数据进入Matlab里面的时候&#xff0c;一直疯狂报错&#xff0c;搞了好久。 &#xff08;2&#xff09;好多同学现…

一点连接千家银行,YonSuite让“银行回单”一键获取

在当今日益复杂多变的商业环境中&#xff0c;企业的资金管理变得尤为重要。传统的银行回单管理方式&#xff0c;如手动登录网银、逐一下载回单、核对信息等&#xff0c;不仅效率低下&#xff0c;而且容易出错&#xff0c;给企业的财务管理带来了极大的挑战。 然而&#xff0c;…

【Pytorch】深入Pytorch模型的训练、log、可视化

文章目录 模型训练的模板综合案例-Pytorch 官网demo优化记录日志解析日志增加tensorboard数据记录保存训练曲线模型参数可视化增加wandb数据记录模型训练的模板 综合案例-Pytorch 官网demo pytorch 官网tutorial-quickstart https://blog.csdn.net/weixin_39107270/article/de…

C# 反射为什么慢?深入解析反射性能问题

在C#编程中&#xff0c;反射&#xff08;Reflection&#xff09;是一个强大的工具&#xff0c;它允许程序在运行时获取类型信息并动态地调用类型的方法、属性等。然而&#xff0c;尽管反射提供了很高的灵活性&#xff0c;但它也带来了一个显著的性能开销。本文将深入探讨反射为…