Java搭建一個(gè)springboot3.4.1項(xiàng)目?JDK21的詳細(xì)過(guò)程
環(huán)境準(zhǔn)備
idea:2021
springboot:3.4.1
JDK:21
maven:3.6.3
新建項(xiàng)目
點(diǎn)擊new->project->spring initializr
選擇springboot版本
1.選擇springboot版本,因?yàn)镴DK版本是21因此對(duì)應(yīng)springboot3.X
Spring Boot 2.6.x:適用于JDK 8到17,適合需要使用較早Spring Boot版本的項(xiàng)目。
Spring Boot 2.7.x:適用于JDK 8到17,適合現(xiàn)有項(xiàng)目逐步遷移。
Spring Boot 3.x:全面支持JDK 17及以上版本,利用最新的Java特性和性能優(yōu)化。
選擇依賴
依賴這里自主選擇,例如是搭建的web項(xiàng)目(一般的BS架構(gòu)就是)這里就可以選擇spring web
例如SQL選擇以下這幾個(gè)就基本滿足需求
下面還有很多自主選擇:
最后創(chuàng)建就行
創(chuàng)建完之后的目錄
這里就是完整的目錄結(jié)構(gòu),發(fā)現(xiàn)pom文件引入依賴失敗
原因以及解決
原因maven路徑不對(duì)
開始修改maven文件映入路徑
打開maven設(shè)置
設(shè)置maven路徑
以下是我的本地maven settings 和 repository路徑
修改后的maven路徑
修改完成后maven會(huì)慢慢導(dǎo)入依賴,解決爆紅,但是博主出現(xiàn)問(wèn)題了
這里一看springboot3.4都沒引入進(jìn)來(lái),懷疑MAVEN使用的版本太低
下載maven3.9 修改配置
修改settings配置
1.修改本地存儲(chǔ)路徑
2.修改鏡像下載源
設(shè)置環(huán)境變量
新建
因?yàn)槲抑坝?.6版本的所以換一個(gè)名字
將之前的MAVEN_HONE替換為MAVEN_HOME39
修改后:
cmd查看maven版本
發(fā)現(xiàn)maven對(duì)應(yīng)的java版本是JDK1.8 我們不是已經(jīng)修改成了21了嗎?
原因是我們MAVEN默認(rèn)指定對(duì)應(yīng)的JDK版本是JAVA_HOME的
因此修改JAVA_HOME
cmd mvn -v查看
發(fā)現(xiàn)出現(xiàn)沒找到JAVA_HOME
原因是高版本的JDK如JDK17免安裝版沒有JRE,配置好環(huán)境變量Maven識(shí)別不出JDK的位置導(dǎo)致的報(bào)錯(cuò)
解決方法:
手動(dòng)添加JDK路徑 set JAVA_HOME=E:\JDK\JDK21
可能出現(xiàn)亂碼問(wèn)題,注意中英文,實(shí)在不行重新手敲
這里就成功修改maven版本以及對(duì)應(yīng)的JDK版本
修改成功,接下來(lái)替換idea路徑
下載以及等待
可以看見repository文件慢慢在增加
后面發(fā)現(xiàn)報(bào)錯(cuò)
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ā)行時(shí)間不能高于idea發(fā)行時(shí)間
切回maven3.6.3 對(duì)應(yīng)JDK21
因此切回maven3.6.3
對(duì)應(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版本對(duì)應(yīng)不上idea版本進(jìn)來(lái)更新idea,不然只能降maven,可能導(dǎo)致后續(xù)依賴出錯(cuò)
修改配置
個(gè)人習(xí)慣于yaml格式,因此修改為yml格式
并配置數(shù)據(jù)源,因?yàn)橐肓藬?shù)據(jù)庫(kù)相關(guān)依賴,不配置數(shù)據(jù)源會(huì)報(bào)錯(cuò)
啟動(dòng)成功
隨便寫個(gè)接口
到此這篇關(guān)于java 搭建一個(gè)springboot3.4.1項(xiàng)目 JDK21的文章就介紹到這了,更多相關(guān)springboot3.4.1項(xiàng)目 JDK21內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
創(chuàng)建Spring Boot項(xiàng)目的幾種方式總結(jié)(推薦)
這篇文章主要介紹了創(chuàng)建Spring Boot項(xiàng)目的幾種方式總結(jié)(推薦),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Java Swing JList列表框的實(shí)現(xiàn)
這篇文章主要介紹了Java Swing JList列表框的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12java實(shí)現(xiàn)微信公眾號(hào)消息推送的方法詳解
這篇文章主要為大家詳細(xì)介紹了如何利用java實(shí)現(xiàn)微信公眾號(hào)消息推送的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-10-10Spring覆蓋容器中Bean的注解如何實(shí)現(xiàn)@OverrideBean
文章介紹了在項(xiàng)目開發(fā)中如何通過(guò)偷梁換柱的方式重寫Spring容器中的內(nèi)置Bean,并指出了需要注意的兩點(diǎn):1. 對(duì)應(yīng)的Bean應(yīng)基于接口注入;2. 如果不是基于接口注入,可以使用同包名同類名的方式重寫(可能存在潛在問(wèn)題,不推薦),文章還強(qiáng)調(diào)了“基于接口編程”的好處2025-01-01在SpringBoot中實(shí)現(xiàn)線程池并行處理任務(wù)的方法詳解
在使用Spring Boot開發(fā)應(yīng)用程序時(shí),我們經(jīng)常需要處理一些耗時(shí)的任務(wù),例如網(wǎng)絡(luò)請(qǐng)求、數(shù)據(jù)庫(kù)操作或者其他需要花費(fèi)一定時(shí)間的計(jì)算任務(wù),本文將介紹如何在Spring Boot中使用線程池來(lái)實(shí)現(xiàn)任務(wù)的并行處理2023-06-06