Java搭建一個springboot3.4.1項目?JDK21的詳細(xì)過程
環(huán)境準(zhǔn)備
idea:2021
springboot:3.4.1
JDK:21
maven:3.6.3
新建項目
點擊new->project->spring initializr

選擇springboot版本
1.選擇springboot版本,因為JDK版本是21因此對應(yīng)springboot3.X
Spring Boot 2.6.x:適用于JDK 8到17,適合需要使用較早Spring Boot版本的項目。
Spring Boot 2.7.x:適用于JDK 8到17,適合現(xiàn)有項目逐步遷移。
Spring Boot 3.x:全面支持JDK 17及以上版本,利用最新的Java特性和性能優(yōu)化。

選擇依賴
依賴這里自主選擇,例如是搭建的web項目(一般的BS架構(gòu)就是)這里就可以選擇spring web


例如SQL選擇以下這幾個就基本滿足需求

下面還有很多自主選擇:

最后創(chuàng)建就行
創(chuàng)建完之后的目錄
這里就是完整的目錄結(jié)構(gòu),發(fā)現(xiàn)pom文件引入依賴失敗

原因以及解決
原因maven路徑不對
開始修改maven文件映入路徑
打開maven設(shè)置

設(shè)置maven路徑

以下是我的本地maven settings 和 repository路徑


修改后的maven路徑

修改完成后maven會慢慢導(dǎo)入依賴,解決爆紅,但是博主出現(xiàn)問題了


這里一看springboot3.4都沒引入進(jìn)來,懷疑MAVEN使用的版本太低
下載maven3.9 修改配置
修改settings配置
1.修改本地存儲路徑

2.修改鏡像下載源

設(shè)置環(huán)境變量
新建

因為我之前有3.6版本的所以換一個名字

將之前的MAVEN_HONE替換為MAVEN_HOME39

修改后:

cmd查看maven版本

發(fā)現(xiàn)maven對應(yīng)的java版本是JDK1.8 我們不是已經(jīng)修改成了21了嗎?
原因是我們MAVEN默認(rèn)指定對應(yīng)的JDK版本是JAVA_HOME的
因此修改JAVA_HOME

cmd mvn -v查看

發(fā)現(xiàn)出現(xiàn)沒找到JAVA_HOME
原因是高版本的JDK如JDK17免安裝版沒有JRE,配置好環(huán)境變量Maven識別不出JDK的位置導(dǎo)致的報錯
解決方法:

手動添加JDK路徑 set JAVA_HOME=E:\JDK\JDK21

可能出現(xiàn)亂碼問題,注意中英文,實在不行重新手敲

這里就成功修改maven版本以及對應(yīng)的JDK版本
修改成功,接下來替換idea路徑

下載以及等待

可以看見repository文件慢慢在增加

后面發(fā)現(xiàn)報錯
ava.lang.RuntimeException: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Unable to provision, see the following errors:
[Guice/ErrorInjectingConstructor]: NoSuchMethodError: DefaultModelValidator: method ‘void ()’ not found
查詢得知maven版本也要適應(yīng)idea版本,maven發(fā)行時間不能高于idea發(fā)行時間
切回maven3.6.3 對應(yīng)JDK21
因此切回maven3.6.3
對應(yīng)JDK21

成功加載:

總結(jié)
版本推薦:
Spring Boot 版本推薦 JDK 版本推薦 Maven 版本Spring Boot 2.0 - 2.7JDK 8, 11, 16, 17Maven 3.5 或 3.6Spring Boot 3.0 - 3.4JDK 17 或更高(Java 21)Maven 3.8 或更高
這里如果maven版本對應(yīng)不上idea版本進(jìn)來更新idea,不然只能降maven,可能導(dǎo)致后續(xù)依賴出錯
修改配置
個人習(xí)慣于yaml格式,因此修改為yml格式
并配置數(shù)據(jù)源,因為引入了數(shù)據(jù)庫相關(guān)依賴,不配置數(shù)據(jù)源會報錯

啟動成功

隨便寫個接口


到此這篇關(guān)于java 搭建一個springboot3.4.1項目 JDK21的文章就介紹到這了,更多相關(guān)springboot3.4.1項目 JDK21內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- IDEA 2021配置JavaWeb項目超詳細(xì)教程
- IDEA2023版本創(chuàng)建Spring項目只能勾選17和21卻無法使用Java8的完美解決方案
- 你應(yīng)該知道的21個Java核心技術(shù)
- IntelliJ?IDEA?2023版本創(chuàng)建Spring項目時Java只能選擇17或21的問題解決方法
- idea創(chuàng)建spring?boot項目時javaversion只能選擇17和21解決辦法
- idea創(chuàng)建springboot項目,java版本只能選擇17和21的解決方案
- IntelliJ IDEA 2021.1 EAP 1 發(fā)布支持 Java 16 和 WSL 2
- Java中ScopeValue的使用小結(jié)
相關(guān)文章
舉例講解Java中synchronized關(guān)鍵字的用法
這篇文章主要介紹了Java中synchronized關(guān)鍵字的用法,針對synchronized修飾方法的使用作出了簡單講解和演示,需要的朋友可以參考下2016-04-04
詳解大數(shù)據(jù)處理引擎Flink內(nèi)存管理
Flink是jvm之上的大數(shù)據(jù)處理引擎,jvm存在java對象存儲密度低、full gc時消耗性能,gc存在stw的問題,同時omm時會影響穩(wěn)定性。針對頻繁序列化和反序列化問題flink使用堆內(nèi)堆外內(nèi)存可以直接在一些場景下操作二進(jìn)制數(shù)據(jù),減少序列化反序列化消耗。本文帶你詳細(xì)理解其原理。2021-05-05
vscode開發(fā)maven的javaweb項目并部署到tomcat及配置指南
這篇文章主要給大家介紹了關(guān)于vscode開發(fā)maven的javaweb項目并部署到tomcat及配置的相關(guān)資料,在vscode中創(chuàng)建maven項目,需要逐一操作下面的環(huán)節(jié),文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
IDEA中使用Gradle構(gòu)建項目中文報GBK錯誤的解決方案
這篇文章主要介紹了IDEA中使用Gradle構(gòu)建項目中文報GBK錯誤的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-04-04
SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟
這篇文章主要介紹了SpringBoot+Redis執(zhí)行l(wèi)ua腳本的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
java8新特性之stream的collect實戰(zhàn)教程
這篇文章主要介紹了java8新特性之stream的collect實戰(zhàn)教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08
spring?boot?validation參數(shù)校驗與分組嵌套各種類型及使用小結(jié)
參數(shù)校驗基本上是controller必做的事情,畢竟前端傳過來的一切都不可信,validation可以簡化這一操作,這篇文章主要介紹了spring?boot?validation參數(shù)校驗分組嵌套各種類型及使用小結(jié),需要的朋友可以參考下2023-09-09

