最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot項目由JDK8升級至JDK17詳細(xì)教程

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

1. 前言

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

整個升級過程 計劃分為3步。

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

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

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

原項目版本:Jdk8 + springboot 2.7.12

升級后版本:Jdk17 + springboot 3.3.9

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

接下來開始修改。

3. 版本升級

3.1 基礎(chǔ)依賴升級

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

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

3.項目配置中的java.version由8升級到17

4.maven編譯相關(guān)maven.compiler.source、maven.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 升級 1.18.30

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

1.redis相關(guān)

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

2.mybatis plus相關(guān)

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

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

4.httpclient版本升級,升級至4.5.14

5.接口文檔knife4j升級

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 = "笑小楓管理平臺接口",
                description = "管理平臺 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請求”)@Operation(summary = “普通body請求”)
@ApiModel(value = “對象描述”)@Schema(description = “對象描述”)
@ApiModelProperty(“參數(shù)名稱”)@Schema(description = “參數(shù)名稱”)

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

4. 功能測試

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

5. 升級總結(jié)

本次項目版本依賴升級大致如下,可能有一些沒有記錄到。

依賴升級前升級后
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. 注意事項

1.JDK版本與Spring Boot版本對應(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版本對應(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款的,不支持過高的maven版本,我這里使用的是maven 3.8.1。條件允許建議可以換更高版本的idea,感覺2024版的使用起來也更絲滑…

7.小結(jié)

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

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

相關(guān)文章

最新評論

东山县| 西畴县| 宣恩县| 固镇县| 沈丘县| 永修县| 密云县| 江源县| 烟台市| 寻乌县| 东莞市| 湄潭县| 新竹市| 沙河市| 张掖市| 澄迈县| 巴彦县| 山西省| 湟中县| 宜春市| 麟游县| 江陵县| 赤水市| 张家港市| 斗六市| 郁南县| 贺兰县| 沽源县| 横山县| 扎鲁特旗| 高台县| 朝阳区| 湖口县| 长沙市| 汶川县| 吴旗县| 岳西县| 台山市| 大冶市| 丰顺县| 桃江县|