欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot項(xiàng)目由JDK8升級(jí)至JDK17詳細(xì)教程

 更新時(shí)間:2025年06月11日 11:08:48   作者:笑小楓  
這篇文章主要為大家詳細(xì)介紹了Springboot項(xiàng)目如何由JDK8升級(jí)至JDK17,本文為大家整理了全過(guò)程的詳細(xì)步驟,有需要的小伙伴可以參考一下

1. 前言

最近一直想把我的開(kāi)源項(xiàng)目maple-boot升級(jí)到j(luò)dk17版本,然后接入Spring AI。拖延癥犯了一直拖拖拖,最近時(shí)間空閑較多,開(kāi)始陸續(xù)著手升級(jí)。

整個(gè)升級(jí)過(guò)程 計(jì)劃分為3步。

  • step1:先將項(xiàng)目升級(jí)到j(luò)dk17,使用正常
  • step2:生成代碼的模板類升級(jí)到Jdk17對(duì)應(yīng)的版本
  • step3:功能陸續(xù)驗(yàn)證

本文主要記錄step1將項(xiàng)目升級(jí)過(guò)程中牽扯到依賴變動(dòng)升級(jí),當(dāng)然項(xiàng)目用到的依賴并不算多,項(xiàng)目之外的這里不做記錄。

2. 準(zhǔn)備環(huán)境

原項(xiàng)目版本:Jdk8 + springboot 2.7.12

升級(jí)后版本:Jdk17 + springboot 3.3.9

這里新建一個(gè)maple-boot-17的項(xiàng)目,然后將maple-boot下[base-manage]分支的代碼原封不動(dòng)的復(fù)制進(jìn)來(lái)。

接下來(lái)開(kāi)始修改。

3. 版本升級(jí)

3.1 基礎(chǔ)依賴升級(jí)

1.首先把項(xiàng)目環(huán)境切換到Jdk17上

2.父級(jí)pom文件中spring-boot-starter-parent版本升級(jí)到3.3.9

3.項(xiàng)目配置中的java.version由8升級(jí)到17

4.maven編譯相關(guān)maven.compiler.sourcemaven.compiler.target由8升到17

5.由于在jdk17中移除了javax的部分包,所以很多javax.xxx都需要修改jakarta.xxx

這里主要包含:

(1) javax.servlet

(2) javax.annotation

其它javax.net,javax.sql等則繼續(xù)保留著。

6.lombok版本由1.16.18 升級(jí) 1.18.30

3.2 相關(guān)組件升級(jí)

1.redis相關(guān)

? yml文件配置由spring.redis 變?yōu)?code>spring.data.redis,多了一級(jí)data

2.mybatis plus相關(guān)

  • mybatis plus版本升級(jí),由3.5.2升級(jí)到3.5.9,pom依賴artifactIdmybatis-plus-boot-starter變?yōu)?code>mybatis-plus-spring-boot3-starter
  • 分頁(yè)插件剝離,新增分頁(yè)依賴com.baomidou:mybatis-plus-jsqlparser
  • 多數(shù)據(jù)源依賴升級(jí),由3.5.2升級(jí)為4.0.0,pom依賴artifactIddynamic-datasource-spring-boot-starter變?yōu)?code>dynamic-datasource-spring-boot3-starter
  • TODO:生成工具暫未調(diào)整,不確定是否有變化

3.對(duì)象轉(zhuǎn)化工具dozer版本升級(jí),由6.2.0升級(jí)至7.0.0

4.httpclient版本升級(jí),升級(jí)至4.5.14

5.接口文檔knife4j升級(jí)

com.github.xiaoymin:knife4j-spring-boot-starter:2.0.7變更為com.github.xiaoymin:knife4j-openapi3-jakarta-spring-boot-starter:4.0.0,Knife4jConfiguration配置類變更

package com.maple.rest.config;

import io.swagger.v3.oas.annotations.OpenAPIDefinition;
import io.swagger.v3.oas.annotations.info.Info;
import io.swagger.v3.oas.annotations.servers.Server;
import org.springframework.context.annotation.Configuration;

/**
 * @author 笑小楓-https://www.xiaoxiaofeng.com
 * @date 2022/6/28
 */
@Configuration
@OpenAPIDefinition(
        info = @Info(title = "笑小楓管理平臺(tái)接口",
                description = "管理平臺(tái) API 文檔",
                version = "1.0"),
        servers = @Server(url = "https://www.xiaoxiaofeng.site/api/")
)
public class Knife4jConfiguration {

}

注解變更

變更前變更后
@Api(tags = “body參數(shù)”)@Tag(name = “body參數(shù)”)
@ApiOperation(“普通body請(qǐng)求”)@Operation(summary = “普通body請(qǐng)求”)
@ApiModel(value = “對(duì)象描述”)@Schema(description = “對(duì)象描述”)
@ApiModelProperty(“參數(shù)名稱”)@Schema(description = “參數(shù)名稱”)

更多的變動(dòng)可以參考官網(wǎng),這里暫時(shí)沒(méi)有做進(jìn)一步深究

4. 功能測(cè)試

大體試了下,功能都還健在,后續(xù)整理生成工具時(shí),會(huì)陸續(xù)測(cè)試功能細(xì)節(jié)。

5. 升級(jí)總結(jié)

本次項(xiàng)目版本依賴升級(jí)大致如下,可能有一些沒(méi)有記錄到。

依賴升級(jí)前升級(jí)后
JDK817
springboot2.7.123.3.9
mybatis plus3.5.23.5.9
dynamic datasource3.5.24.0.0
lombok1.16.181.18.30
nacos0.2.102.2.3
knife4j2.0.74.0.0
httpclient4.5.134.5.14
dozer6.2.07.0.0

6. 注意事項(xiàng)

1.JDK版本與Spring Boot版本對(duì)應(yīng)

Spring Boot不同版本支持的JDK版本如下:

Spring Boot版本支持的JDK版本
Spring Boot 2.1.xJDK 8、JDK 11
Spring Boot 2.2.xJDK 8、JDK 11
Spring Boot 2.3.xJDK 8、JDK 11
Spring Boot 2.4.xJDK 8、JDK 11
Spring Boot 2.5.xJDK 8、JDK 11
Spring Boot 2.6.xJDK 8、JDK 11
Spring Boot 2.7.xJDK 11、JDK 17
Spring Boot 3.0.xJDK 17(基于Spring Framework 6)

2.Maven版本與Spring Boot版本對(duì)應(yīng)

Maven作為構(gòu)建工具,與Spring Boot的兼容性如下:

Spring Boot版本推薦的Maven版本
Spring Boot 2.1.xMaven 3.5.x
Spring Boot 2.2.xMaven 3.5.x、3.6.x
Spring Boot 2.3.xMaven 3.6.x
Spring Boot 2.4.xMaven 3.6.x
Spring Boot 2.5.xMaven 3.6.x
Spring Boot 2.6.xMaven 3.6.x
Spring Boot 2.7.xMaven 3.6.x、3.8.x
Spring Boot 3.0.xMaven 3.8.x

3.我用的idea 2021.3款的,不支持過(guò)高的maven版本,我這里使用的是maven 3.8.1。條件允許建議可以換更高版本的idea,感覺(jué)2024版的使用起來(lái)也更絲滑…

7.小結(jié)

升級(jí)過(guò)程中,程序可能會(huì)出現(xiàn)各種各式報(bào)錯(cuò),牽扯到相關(guān)依賴版本變更需要調(diào)整。

到此這篇關(guān)于Springboot項(xiàng)目由JDK8升級(jí)至JDK17詳細(xì)教程的文章就介紹到這了,更多相關(guān)Springboot JDK版本升級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java內(nèi)存模型詳解

    Java內(nèi)存模型詳解

    JMM全稱Java Memory Model, 中文翻譯Java內(nèi)存模型,一種符合內(nèi)存模型規(guī)范的,屏蔽了各種硬件和操作系統(tǒng)的訪問(wèn)差異的,本詳細(xì)介紹了Java內(nèi)存模型,感興趣的同學(xué)可以參考一下
    2023-04-04
  • 使用webservice自定義注解處理參數(shù)加解密問(wèn)題

    使用webservice自定義注解處理參數(shù)加解密問(wèn)題

    這篇文章主要介紹了使用webservice自定義注解處理參數(shù)加解密問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中異常傳播的實(shí)現(xiàn)

    Java中異常傳播的實(shí)現(xiàn)

    在Java中,異常傳播是一個(gè)重要的概念,本文主要介紹了Java中異常傳播的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • Spring MVC 基于URL的映射規(guī)則(注解版)

    Spring MVC 基于URL的映射規(guī)則(注解版)

    這篇文章主要介紹了Spring MVC 基于URL的映射規(guī)則(注解版) ,詳細(xì)的介紹了幾種方式,有興趣的可以了解一下
    2017-05-05
  • java?環(huán)境配置(2023年詳細(xì)教程)

    java?環(huán)境配置(2023年詳細(xì)教程)

    這篇文章首先為了完善我的知識(shí)體系,今后一些軟件的安裝教程也可能會(huì)用到想寫一個(gè)更加詳細(xì)的,因?yàn)檫@并不僅僅是寫給?IT?行業(yè)的,其它行業(yè)可能也需要配置java環(huán)境
    2023-06-06
  • Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析

    Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析

    這篇文章主要介紹了Flask接口如何返回JSON格式數(shù)據(jù)自動(dòng)解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Java實(shí)現(xiàn)Html轉(zhuǎn)Pdf的方法

    Java實(shí)現(xiàn)Html轉(zhuǎn)Pdf的方法

    這篇文章主要介紹了Java實(shí)現(xiàn)Html轉(zhuǎn)Pdf的方法,實(shí)例分析了java基于ITextRenderer類操作頁(yè)面及系統(tǒng)自帶字體生成pdf文件的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • java?http請(qǐng)求設(shè)置代理Proxy的兩種常見(jiàn)方法

    java?http請(qǐng)求設(shè)置代理Proxy的兩種常見(jiàn)方法

    代理是一種常見(jiàn)的設(shè)計(jì)模式,其目的就是為其他對(duì)象提供一個(gè)代理以控制對(duì)某個(gè)對(duì)象的訪問(wèn),這篇文章主要給大家介紹了關(guān)于java?http請(qǐng)求設(shè)置代理Proxy的兩種常見(jiàn)方法,需要的朋友可以參考下
    2023-11-11
  • Java Retrofit源碼層深入分析

    Java Retrofit源碼層深入分析

    這篇文章主要介紹了Java Retrofit源碼層分析,Retrofit是一個(gè)RESTful的HTTP網(wǎng)絡(luò)請(qǐng)求框架的封裝,網(wǎng)絡(luò)請(qǐng)求的工作本質(zhì)上是OkHttp完成,而Retrofit僅負(fù)責(zé)網(wǎng)絡(luò)請(qǐng)求接口的封裝
    2023-01-01
  • Spring基于注解配置AOP詳解

    Spring基于注解配置AOP詳解

    這篇文章主要介紹了Spring基于注解配置AOP詳解,Spring 的 AOP 功能是基于 AspectJ 實(shí)現(xiàn)的,支持使用注解聲明式定義 AOP 切面,Spring 基于注解配置 AOP 需要啟用 AspectJ 自動(dòng)代理功能,需要的朋友可以參考下
    2023-09-09

最新評(píng)論