IDEA2023版本創(chuàng)建Spring項目只能勾選17和21卻無法使用Java8的完美解決方案
前言
起因
想創(chuàng)建一個springboot的項目,本地安裝的是1.8,但是在使用Spring Initializr創(chuàng)建項目時,發(fā)現(xiàn)版本只有17和21。
在JDK為1.8的情況下,無論選擇Java17版本或者21版本時,都會報錯。要求你要么選擇更低的Java版本或者更換更高的SDK版本即跟換JDK版本
Java17和Java 8(JDK1.8)的區(qū)別
版本號:Java 17 是 Java SE 17 的版本,而 JDK 1.8 是 Java SE 8 的版本。
發(fā)布時間:Java 17 發(fā)布于 2021 年,而 JDK 1.8 發(fā)布于 2014 年.
新特性:Java 17 相對于 JDK 1.8,新增了很多特性和改進,例如:Switch 表達式、Sealed 類、Pattern
Matching for instanceof 等。
兼容性:Java 17 和 JDK 1.8 不兼容,由于 Java 的向后兼容性,Java 17 可以運行 JDK 1.8 的代碼,但
JDK 1.8 不支持 Java 17 的新特性。
安全性:Java 17 相對于 JDK 1.8,修復(fù)了更多的安全漏洞,提高了程序的安全性。
exe和msi的區(qū)別
"exe"和"msi"是兩種常見的文件擴展名,用于Windows操作系統(tǒng)中的安裝程序。它們之間有以下區(qū)別:
- 格式:exe文件是可執(zhí)行文件,而msi文件是Windows Installer安裝包。
- 安裝方式:exe文件通常是自解壓縮文件,一般包含一個可執(zhí)行文件和其他必要的資源。當你運行exe文件時,它會解壓縮并執(zhí)行其中的程序來完成安裝。msi文件是一種基于Windows Installer技術(shù)的安裝包,它采用了Windows Installer服務(wù)來處理安裝和卸載操作。
- 安裝過程:exe文件通常是自包含的安裝程序,可以執(zhí)行多個操作,例如復(fù)制文件、創(chuàng)建注冊表項、安裝驅(qū)動程序等。msi文件則使用Windows Installer提供的功能,通過一系列的安裝動作和操作來完成安裝過程。這包括執(zhí)行預(yù)定義的安裝腳本、處理文件和注冊表項、創(chuàng)建快捷方式等。
- 高級功能:由于采用了Windows Installer技術(shù),msi文件支持一些高級功能,例如安裝時的自定義設(shè)置、升級和修補程序、回滾機制等。這些功能使得msi文件更適合在企業(yè)環(huán)境中進行軟件分發(fā)和管理。
總的來說,exe文件更加靈活,適用于簡單的安裝過程,而msi文件提供了更強大和可定制的安裝功能,適用于需要管理和分發(fā)的復(fù)雜軟件。在選擇使用哪種文件格式時,應(yīng)根據(jù)具體的需求和情況進行評估。
分析
- Spring官方發(fā)布Spring Boot 3.0.0 的時候告知了一些情況,Java 17將成為未來的主流版本,所有的Java EE Api都需要遷移到Jakarta EE上來。大部分用戶需要修改import相關(guān)API的時候,要用jakarta替換javax。比如:原來引入
javax
.servlet.Filter的地方,需要替換為jakarta
.servlet.Filter - 進入Springboot官網(wǎng)查看情況,發(fā)現(xiàn)在2023年11月24日,3.0以下的版本不再支持了。
解決
方案一:替換創(chuàng)建項目的源
我們只知道IDEA頁面創(chuàng)建Spring項目,其實是訪問spring initializr去創(chuàng)建項目。故我們可以通過阿里云國服去間接創(chuàng)建Spring項目。將https://start.spring.io/
或者http://start.springboot.io/
替換為 https://start.aliyun.com/
方案二:升級JDK版本
采用JDK17或者21版本,創(chuàng)建項目后,springboot的版本要改為3.0以下,在pom.xml中把java改為1.8,如下圖。
1、下載JDK17,JDK官網(wǎng)
選擇Windows X64 Installer下載即可。
2、安裝JDK17
雙擊已下載的jdk17,進入安裝界面,點擊下一步 ==> 選擇安裝路徑,可更改路徑,點擊更改,我選擇安裝在E盤
,點擊確定 == > 點擊下一步進行安裝。安裝完成后直接點擊關(guān)閉即可。
3、配置Java環(huán)境變量
方式一:點擊開始設(shè)置 ==> 搜索環(huán)境變量
方式二:右擊此電 ==> 屬性 ==> 高級系統(tǒng)設(shè)置 ==>環(huán)境變量
在系統(tǒng)變量中找到ptah雙擊,進入path頁面,添加jdk安裝位置,新建,選擇自己的安裝JDK17位置如下圖
4、驗證是否配置成功
win+R輸入cmd回車,輸入java -version和javac -version,均返回jdk版本,如下圖
參考文獻
到此這篇關(guān)于IDEA2023版本創(chuàng)建Spring項目只能勾選17和21,卻無法使用Java8?(已解決)的文章就介紹到這了,更多相關(guān)idea2023創(chuàng)建Spring項目只能勾選17和21內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項目多層級多環(huán)境yml設(shè)計詳解
這篇文章主要為大家介紹了SpringBoot項目多層級多環(huán)境yml設(shè)計詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析
這篇文章主要介紹了TCP/IP協(xié)議中三次握手四次揮手的原理及流程分析,具有一定參考價值,需要的朋友可以了解下。2017-11-11springboot 使用yml配置文件給靜態(tài)變量賦值教程
這篇文章主要介紹了springboot 使用yml配置文件給靜態(tài)變量賦值教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04如何更優(yōu)雅地獲取spring boot yml中的值
這篇文章主要給大家介紹了關(guān)于如何更優(yōu)雅地獲取spring boot yml中值的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06一篇文章帶你了解Java Spring基礎(chǔ)與IOC
這篇文章主要介紹了Java Spring基礎(chǔ)與IOC,文中講解的相關(guān)內(nèi)容非常詳細,也運用了大量的代碼進行講解,感興趣的小伙伴可以參考一下2021-08-08BeanUtils.copyProperties()所有的空值不復(fù)制問題
這篇文章主要介紹了BeanUtils.copyProperties()所有的空值不復(fù)制問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-06-06