安裝配置指南)
做 Java 開發(fā)的同學(xué)最近應(yīng)該都有明顯感覺2024 年還有人抱著 Java 8 不放到了 2025 年身邊討論 JDK21 的人越來越多IDE 也慢慢換到了 IntelliJ IDEA 2025 這個(gè)新版本。正好這幾天幫同事處理了兩臺(tái)機(jī)器一臺(tái) Windows 本機(jī)一臺(tái)剛初始化完的 Linux 服務(wù)器把 JDK21 和 idea2025 安裝全流程走了一遍。這篇文章就圍繞這件事展開講清楚 JDK21 安裝包怎么選、Windows 和 Linux 下環(huán)境變量怎么配、IDEA 2025 怎么和 JDK21 關(guān)聯(lián)再把我實(shí)操中踩過的坑和排查思路一并整理出來。無論你是剛?cè)腴T想照著抄作業(yè)還是老程序員準(zhǔn)備升級(jí)開發(fā)環(huán)境這份記錄都能給你一個(gè)完整的參考。1. 動(dòng)手之前JDK21 和 IDEA 2025 到底是什么組合1.1 JDK21 到底帶來了什么JDK21 是 Oracle 在 2023 年 9 月發(fā)布的長(zhǎng)期支持版本LTS 意味著它能獲得長(zhǎng)時(shí)間的安全補(bǔ)丁和穩(wěn)定性更新對(duì)于企業(yè)項(xiàng)目來說這是從 Java 8 或 Java 11 直接跳升的最佳目標(biāo)版本。很多團(tuán)隊(duì)卡在 Java 8 不升本質(zhì)原因是“不值得折騰”但只要仔細(xì)看過 JDK21 的更新列表這個(gè)顧慮基本會(huì)被打消。JDK21 里最值得關(guān)注的是虛擬線程這是 JEP 444 正式帶來的功能。以前 Java 處理高并發(fā)靠線程池線程多了之后上下文切換開銷巨大而虛擬線程由 JVM 調(diào)度一個(gè)平臺(tái)線程可以承載成千上萬個(gè)虛擬線程寫并發(fā)代碼就像寫順序代碼一樣簡(jiǎn)單性能還比傳統(tǒng)方式好不少。我自己的一個(gè)線上消息處理程序用 JDK21 的虛擬線程重寫后吞吐量提升非常明顯而代碼改動(dòng)量卻小得驚人。除了虛擬線程記錄模式Record Patterns和 switch 模式匹配也讓代碼簡(jiǎn)潔了很多。以前要寫一堆 instanceof 判斷和強(qiáng)制類型轉(zhuǎn)換現(xiàn)在一個(gè)模式匹配表達(dá)式就能解決。另外JDK21 還引入了分代 ZGC把 ZGC 的停頓時(shí)間進(jìn)一步壓低大堆內(nèi)存應(yīng)用也能實(shí)現(xiàn)極低延遲。這些特性單獨(dú)看可能覺得沒什么但組合在一起就是讓 Java 這門語言重新變得性感。需要注意一點(diǎn)字符串模板String Templates在 JDK21 中還是預(yù)覽特性生產(chǎn)環(huán)境使用要謹(jǐn)慎別把預(yù)覽 API 當(dāng)正式 API 寫到長(zhǎng)期維護(hù)的代碼里。對(duì)于像我這種 Windows 和 Linux 兩套環(huán)境都要維護(hù)的人JDK21 還有一個(gè)隱藏好處它已經(jīng)是比較新的 LTS社區(qū)里針對(duì)它的坑和解決方案已經(jīng)沉淀得足夠多。遇到環(huán)境問題搜答案不會(huì)像當(dāng)年 Java 9 時(shí)代那樣連個(gè)靠譜對(duì)照都沒處找。1.2 為什么選擇 IDEA 2025 搭配 JDK21IntelliJ IDEA 2025 這個(gè)版本名字就直接對(duì)應(yīng)年份。它在啟動(dòng)速度、內(nèi)存占用和 JDK 識(shí)別上做了不少優(yōu)化。尤其是對(duì)新版本 JDK 的支持IDEA 2025 從代碼提示到編譯運(yùn)行都做了針對(duì)性適配比如虛擬線程相關(guān) API 的補(bǔ)全、新語法特性的高亮檢查老版本 IDEA 打開 JDK21 項(xiàng)目時(shí)偶爾會(huì)出現(xiàn)“誤報(bào)錯(cuò)”或者提示不完整的問題這些問題在新版本上基本絕跡。版本組合上我推薦 Ultimate 和 Community 兩種選擇個(gè)人學(xué)習(xí)、寫小型項(xiàng)目Community 社區(qū)版完全夠用免費(fèi)且無功能限制商業(yè)項(xiàng)目開發(fā)需要 Spring、數(shù)據(jù)庫工具這類高級(jí)功能可以走 JetBrains 官方訂閱或試用。IDEA 啟動(dòng)了正版授權(quán)體系打開軟件后用 JetBrains 賬號(hào)登錄即可公司有 License Server 或者訂閱的話在 Settings 里配置一下就能激活。注意千萬不要到處找破解補(bǔ)丁和注冊(cè)碼一個(gè)是安全風(fēng)險(xiǎn)極大另一個(gè)是新版 IDEA 對(duì)激活信息的校驗(yàn)越來越嚴(yán)格出了問題很難排查不如正規(guī)渠道來得省心。另外一個(gè)實(shí)用建議是安裝 IDEA 2025 前先把 JDK21 搞定因?yàn)?IDEA 本身雖然內(nèi)置了 JBRJetBrains Runtime但新建項(xiàng)目時(shí)如果沒有外部 JDK你只能選擇 IDEA 自帶的版本那并不是完整的 JDK 開發(fā)環(huán)境。先把 JDK21 配好IDEA 里指定一下整個(gè)鏈路就通了。2. 下載準(zhǔn)備JDK21 安裝包怎么選、去哪下2.1 Windows 下選擇哪個(gè) JDK 發(fā)行版很多新手上來就搜“jdk21 下載”結(jié)果在五花八門的網(wǎng)站里迷了路。其實(shí) JDK 的發(fā)行版遠(yuǎn)不止 Oracle 一家選哪個(gè)取決于你的用途。如果是做 Java 標(biāo)準(zhǔn)開發(fā)我建議優(yōu)先考慮這幾個(gè)主流發(fā)行版Oracle JDK 是官方原版商業(yè)使用有許可限制但個(gè)人開發(fā)、學(xué)習(xí)和很多非商業(yè)場(chǎng)景都能用優(yōu)點(diǎn)是和官方文檔一致版本更新及時(shí)。OpenJDK 是開源的參考實(shí)現(xiàn)官方構(gòu)建版本一般生產(chǎn)上很多人不直接用。Eclipse Temurin 是 Adoptium 社區(qū)維護(hù)的 OpenJDK 發(fā)行版完全開源、免費(fèi)可以作為 Oracle JDK 的替代品尤其適合追求免費(fèi)和穩(wěn)定的團(tuán)隊(duì)。Amazon Corretto 是 AWS 維護(hù)的發(fā)行版兼容性很好云上部署順理成章。我個(gè)人的選擇邏輯很簡(jiǎn)單如果是個(gè)人電腦上學(xué)習(xí)、實(shí)驗(yàn)或者給公司做開發(fā)直接下載 Oracle JDK 21省事如果是 Linux 服務(wù)器生產(chǎn)環(huán)境想完全避開許可問題用 Eclipse Temurin 或 Corretto 都行下載地址分別在 adoptium.net 和 aws.amazon.com/corretto這些站點(diǎn)都是正規(guī)來源不要隨手在個(gè)別博客里掛的私鏈下載安裝包。下載時(shí)還要留意架構(gòu)Windows 上絕大多數(shù)是 x64如果你的筆記本是高通 ARM 芯片就選 aarch64 版本。這個(gè)細(xì)節(jié)很關(guān)鍵選錯(cuò)架構(gòu)哪怕安裝成功也容易出現(xiàn)“找不到主類”這類跑不起來的詭異問題。下載完成后我建議順手校驗(yàn)一下文件哈希值官方頁面會(huì)給出 SHA256 校驗(yàn)碼在 PowerShell 里執(zhí)行 Get-FileHash 命令計(jì)算本地安裝包的哈希值比對(duì)一致再安裝能擋住至少九成的“下載文件損壞”問題。2.2 Linux 服務(wù)器下載 JDK21 安裝包Linux 新服務(wù)器裝 JDK21很多人第一反應(yīng)是用 apt install openjdk-21-jdk 或者 yum 安裝。這個(gè)思路沒錯(cuò)但很多剛初始化的服務(wù)器上系統(tǒng)源里的 openjdk 版本比較舊或者根本沒有 openjdk-21 這個(gè)包。即使有你想裝 Oracle 官方 JDK21 也不方便從源里裝。所以更通用的方案是手動(dòng)下載 tar.gz 包再解壓。以 x64 Linux 為例我一般是先下載 jdk-21_linux-x64_bin.tar.gz 到服務(wù)器 /tmp 目錄然后用 tar 解壓到 /opt 下。手動(dòng)安裝的優(yōu)點(diǎn)很明顯版本完全可控裝到哪個(gè)目錄你說了算環(huán)境變量也清清楚楚。缺點(diǎn)就是你得手動(dòng)維護(hù)但這對(duì)我來說并不是麻煩反而讓服務(wù)器的 Java 環(huán)境更透明。在 Linux 上我更推薦 Temurin 發(fā)行版因?yàn)樗?tar.gz 包對(duì)純命令行環(huán)境非常友好。下載命令大概長(zhǎng)這樣wget https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.3%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz注意鏈接里的 %2B 是 號(hào)的編碼在 wget 里直接寫加號(hào)也可以但寫全鏈接更保險(xiǎn)。下載完以后執(zhí)行sha256sum OpenJDK21U-jdk_x64_linux_hotspot_21.0.3_9.tar.gz把輸出的哈希值和官網(wǎng)提供的校驗(yàn)碼比一比一致后再解壓。這一步?jīng)]人強(qiáng)迫你做但我見過太多人在服務(wù)器上裝了損壞的 JDK然后折騰半天才發(fā)現(xiàn)是安裝包本身有問題。因?yàn)檫@些網(wǎng)絡(luò)下載經(jīng)常中斷wget 默認(rèn)斷點(diǎn)續(xù)傳也可能留下一個(gè)看起來完整實(shí)際截?cái)嗟奈募?. Windows 環(huán)境安裝 JDK21 與配置環(huán)境變量3.1 安裝包執(zhí)行與目錄規(guī)劃Windows 下 Oracle JDK21 的安裝包是一個(gè) exe 文件雙擊運(yùn)行建議不要直接默認(rèn)路徑而是把安裝目錄改成一個(gè)簡(jiǎn)潔、無空格、無中文的路徑。我習(xí)慣裝到 C:\Java\jdk-21 或者 D:\Java\jdk-21。為什么這么講究因?yàn)槁窂嚼镉锌崭窈椭形脑?IDEA 的構(gòu)建工具、Maven 插件以及一些命令行腳本里很容易出現(xiàn)路徑解析錯(cuò)誤特別是國(guó)內(nèi)用戶系統(tǒng)用戶名經(jīng)常是中文默認(rèn)安裝路徑很容易踩中這個(gè)雷。JDK21 的安裝過程和老版本不太一樣安裝包里不會(huì)單獨(dú)出現(xiàn)“公共 JRE”選項(xiàng)因?yàn)閺?JDK 9 以后JRE 就不再單獨(dú)發(fā)布了而是集成在 JDK 里。安裝過程中你只需要把“源代碼”、“開發(fā)工具”這些組件全部勾上一路確認(rèn)即可。還有一個(gè)細(xì)節(jié)安裝完成后系統(tǒng)里可能已經(jīng)有舊版本 JDKOracle 安裝程序會(huì)詢問你“是否注冊(cè) Java 的自動(dòng)更新”建議取消因?yàn)殚_發(fā)機(jī)上你更希望用哪個(gè)版本完全是可控的自動(dòng)更新反而會(huì)把環(huán)境搞亂。裝完以后先別急著打開 IDEA立刻去做環(huán)境變量。很多人以為裝完就完事了實(shí)際上如果沒有配置環(huán)境變量IDEA 里雖然能識(shí)別到 JDK但命令行里的 java、javac 全都會(huì)報(bào)“不是內(nèi)部或外部命令”后面排查起來非常頭疼。3.2 JAVA_HOME 和 PATH 怎么配才標(biāo)準(zhǔn)在 Windows 上配置環(huán)境變量我推薦在“系統(tǒng)變量”里操作而不是“用戶變量”。原因很簡(jiǎn)單系統(tǒng)變量對(duì)所有用戶生效并且能避免一些工具讀取 getUserHome 路徑時(shí)出現(xiàn)不一致問題。具體流程是右鍵“此電腦”選“屬性”點(diǎn)擊“高級(jí)系統(tǒng)設(shè)置”進(jìn)到“環(huán)境變量”窗口然后在系統(tǒng)變量區(qū)域點(diǎn)擊“新建”變量名寫 JAVA_HOME變量值寫你的 JDK 安裝路徑比如 C:\Java\jdk-21。接下來編輯 Path 變量在變量值的末尾添加一行 %JAVA_HOME%\bin注意是追加不要把原有的 System32 那些條目刪掉。這里用相對(duì)引用而不是寫死絕對(duì)路徑是怕以后升級(jí) JDK 版本時(shí)到處改 Path。用 %JAVA_HOME%\bin 只需要改 JAVA_HOME 一個(gè)地方所有引用自動(dòng)生效。關(guān)于 CLASSPATH我只想說一句新版本的 JDK沒有人再去手動(dòng)配置 classpath 了JVM 會(huì)自己找標(biāo)準(zhǔn)庫你的項(xiàng)目依賴由 Maven/Gradle 管理所以千萬別在網(wǎng)上抄那種老教程新建一個(gè) CLASSPATH 變量指向 lib純屬給自己找麻煩。配置完環(huán)境變量后有一個(gè)最重要的動(dòng)作關(guān)掉當(dāng)前所有命令行窗口重新打開一個(gè)新的 CMD 或 PowerShell。不管是 CMD、PowerShell 還是 IDEA啟動(dòng)的那一刻都會(huì)讀取環(huán)境變量快照之前已經(jīng)打開的窗口不會(huì)自動(dòng)拿到新的變量我見過太多人配好環(huán)境變量后順手在舊窗口敲 java -version結(jié)果報(bào)錯(cuò)以為沒配上反復(fù)折騰半天。這個(gè)問題無解只能重新打開窗口。3.3 驗(yàn)證安裝到底看什么重新打開一個(gè)新的命令提示符窗口依次執(zhí)行java -version javac -version正常情況下 java -version 會(huì)輸出類似 openjdk version 21.0.3 或者 java version 21.0.3 以及一些運(yùn)行環(huán)境信息。javac -version 則會(huì)輸出 javac 21.0.3。這里有兩個(gè)容易踩的坑第一個(gè)坑是如果你電腦里以前裝過其他 JDK執(zhí)行 java -version 顯示的卻不是 21那說明 PATH 里有一個(gè)更靠前的舊 JDK 路徑把 Path 里舊 JDK 的條目刪掉或者把 %JAVA_HOME%\bin 往前挪到最前面。第二個(gè)坑是執(zhí)行到 javac 時(shí)提示“無法運(yùn)行”但 java -version 正常這通常是你只裝了 JRE 而不是完整 JDK。JDK21 安裝包不會(huì)出現(xiàn)這種情況但如果你當(dāng)初圖省事裝了 JRE就會(huì)遇到。我還習(xí)慣順手驗(yàn)證一下 JAVA_HOME 是否被正確識(shí)別echo %JAVA_HOME%輸出結(jié)果應(yīng)該和你設(shè)置的路徑完全一致多一個(gè)斜杠、少一個(gè)空格都會(huì)讓后面的工具栽跟頭。Windows 上環(huán)境變量配置完成IDEA 安裝好后能自動(dòng)檢測(cè)到這個(gè) JDK整個(gè)過程到這里就順利貫通了。4. Linux 服務(wù)器安裝 JDK21 與全局環(huán)境變量配置4.1 解壓安裝和目錄約定Linux 新服務(wù)器安裝 JDK21 的第一件事不是下載而是先確定目錄結(jié)構(gòu)。我習(xí)慣統(tǒng)一放在 /opt 下原因很簡(jiǎn)單/opt 本來就是存放第三方獨(dú)立軟件的規(guī)范路徑權(quán)限也更清晰。服務(wù)器上如果有多個(gè) JDK 版本還可以用 /opt/jdk-21 這樣帶版本號(hào)的目錄一目了然。具體操作mkdir -p /opt/java tar -zxvf /tmp/jdk-21_linux-x64_bin.tar.gz -C /opt/java mv /opt/java/jdk-21.0.3 /opt/java/jdk-21解壓完成后檢查一下目錄ls /opt/java/jdk-21/bin/java看到 bin/java 存在說明解壓沒問題。這里提醒一點(diǎn)如果服務(wù)器上內(nèi)存比較緊張解壓 tar.gz 是一個(gè) CPU 密集操作不要一邊解壓一邊跑大任務(wù)否則服務(wù)器可能卡頓看起來像死機(jī)。Linux 上還有一種更“正規(guī)”的安裝方式用系統(tǒng)的 update-alternatives 來管理 JDK 版本。它能讓你在系統(tǒng)里同時(shí)裝多個(gè) JDK需要切換時(shí)一條命令就能完成。我強(qiáng)烈建議服務(wù)器上嘗試一下因?yàn)榫€上環(huán)境經(jīng)常遇到“某個(gè)老應(yīng)用只兼容 JDK11另一個(gè)新應(yīng)用需要 JDK21”的情況靠手改環(huán)境變量切換很容易切混亂而 update-alternatives 就是為這個(gè)場(chǎng)景設(shè)計(jì)的。具體路徑和方式我放在后面第 4.3 小節(jié)講。4.2 Linux 環(huán)境變量配置的最佳實(shí)踐很多博客會(huì)叫你直接編輯 /etc/profile把 JAVA_HOME 塞進(jìn)去。這個(gè)做法能用但不夠優(yōu)雅因?yàn)?/etc/profile 是全局配置的“主入口”升級(jí)系統(tǒng)、安裝其他軟件時(shí)可能會(huì)被覆蓋或沖突。我推薦的方案是使用 /etc/profile.d/ 目錄下的獨(dú)立腳本文件。在 /etc/profile.d/ 下新建一個(gè) jdk21.sh寫入以下內(nèi)容export JAVA_HOME/opt/java/jdk-21 export PATH$JAVA_HOME/bin:$PATH保存后重新登錄服務(wù)器或者執(zhí)行 source /etc/profile 讓腳本生效。這個(gè)方式的優(yōu)勢(shì)在于/etc/profile 啟動(dòng)時(shí)會(huì)自動(dòng)加載 /etc/profile.d/ 下所有 .sh 腳本相當(dāng)于把你的個(gè)性化配置和系統(tǒng)默認(rèn)配置解耦了以后卸載 JDK21 時(shí)只需要?jiǎng)h除這一個(gè)文件干凈利落。驗(yàn)證時(shí)同樣要注意必須新開一個(gè)終端會(huì)話或者執(zhí)行 source /etc/profile 再驗(yàn)證因?yàn)楫?dāng)前會(huì)話里的環(huán)境變量不會(huì)自動(dòng)刷新。執(zhí)行java -version which javawhich java 應(yīng)該輸出來自 /usr/bin/java 或者 $JAVA_HOME/bin/java 的路徑。如果你執(zhí)行 which java 查不到說明 PATH 里沒有變量檢查一下 jdk21.sh 的權(quán)限chmod 644 /etc/profile.d/jdk21.sh保證它對(duì)所有用戶可讀即可因?yàn)?profile 腳本只需要讀取權(quán)限不需要執(zhí)行權(quán)限。除了終端用戶環(huán)境Linux 服務(wù)器還有一個(gè)容易被忽略的場(chǎng)景通過 systemd 啟動(dòng)的服務(wù)進(jìn)程不會(huì)讀取 /etc/profile.d。如果你部署的應(yīng)用是用 systemd 管理即使 JAVA_HOME 配好了服務(wù)進(jìn)程也拿不到這個(gè)變量。這種情況下我建議在 service 文件里顯式寫 EnvironmentJAVA_HOME/opt/java/jdk-21或者更常見的做法是把 java 路徑做成符號(hào)鏈接ln -sf /opt/java/jdk-21/bin/java /usr/bin/java這樣應(yīng)用直接調(diào)用 java 命令時(shí)走的還是你指定的 JDK21繞開了環(huán)境變量的生效范圍問題。4.3 多版本 JDK 切換update-alternatives真到了服務(wù)器上同時(shí)需要 JDK11 和 JDK21 的時(shí)候手動(dòng)改 /etc/profile.d 就太痛苦了。Debian/Ubuntu 系的 update-alternatives 是標(biāo)準(zhǔn)動(dòng)作。把兩個(gè) JDK 都解壓好之后執(zhí)行update-alternatives --install /usr/bin/java java /opt/java/jdk-21/bin/java 2100 update-alternatives --install /usr/bin/java java /opt/java/jdk-11/bin/java 1100 update-alternatives --config java這里末尾的 2100 和 1100 是優(yōu)先級(jí)數(shù)字大的默認(rèn)被優(yōu)先選中。執(zhí)行 update-alternatives --config java 后系統(tǒng)會(huì)列出所有已注冊(cè)的 java 鏈接你輸入編號(hào)就能切換。注意到我裝的是 /usr/bin/java 而不是 /usr/local/bin/java這是因?yàn)?update-alternatives 默認(rèn)管理 /usr/bin 下的鏈接如果你習(xí)慣裝在 /usr/local 下也可以對(duì)應(yīng)改成 /usr/local/bin/java邏輯完全一樣。JAVA_HOME 也可以交給 update-alternatives 管理再創(chuàng)建一個(gè) jdk 組update-alternatives --install /usr/bin/javac javac /opt/java/jdk-21/bin/javac 2100然后配置 JAVA_HOME 時(shí)指向 /usr/lib/jvm 之類的動(dòng)態(tài)鏈接路徑但這一套配置對(duì)新手來說確實(shí)復(fù)雜了一些。如果你只有一臺(tái)服務(wù)器只跑一個(gè)應(yīng)用我建議用第 4.2 小節(jié)的 profile.d 方案就夠了只有當(dāng)你明確知道自己要頻繁切換 JDK 版本時(shí)才值得引入 update-alternatives。5. IDEA 2025 安裝與 JDK21 的關(guān)聯(lián)配置5.1 IDEA 2025 安裝流程要點(diǎn)IDEA 2025 的安裝本身不復(fù)雜從 JetBrains 官網(wǎng)下載對(duì)應(yīng)系統(tǒng)的安裝包下載地址直接搜“IntelliJ IDEA download”就能看到官方入口Windows 版是一個(gè) exe 安裝器運(yùn)行后基本一路 Next。需要注意幾個(gè)安裝選項(xiàng)第一個(gè)是安裝路徑同樣不要帶中文和空格建議 D:\Program Files\JetBrains\IntelliJ IDEA 2025 這類較短的路徑。第二個(gè)是安裝器會(huì)問你要不要?jiǎng)?chuàng)建“64 位啟動(dòng)器”和“創(chuàng)建關(guān)聯(lián)文件”建議全部勾上右鍵 .java 文件直接用 IDEA 打開非常方便。第三個(gè)是安裝完成后會(huì)問你要不要立即啟動(dòng)可以先不啟動(dòng)因?yàn)樽詈孟热ゴ_認(rèn) JDK 環(huán)境已經(jīng)配好了。如果你的機(jī)器是 Linux 桌面環(huán)境IDEA 2025 的安裝方式是下載 tar.gz 后解壓到 /opt初次啟動(dòng)運(yùn)行 bin/idea.sh 即可??梢皂樖謩?chuàng)建一個(gè)桌面快捷方式。這里需要注意Linux 桌面上運(yùn)行 IDEA同樣得注意 JDK 環(huán)境變量因?yàn)?IDEA 啟動(dòng)腳本會(huì)調(diào)用系統(tǒng)的 java 判斷運(yùn)行環(huán)境雖然它也會(huì)使用內(nèi)置的 JBR但如果 JAVA_HOME 配置錯(cuò)誤某些插件和構(gòu)建工具依然會(huì)報(bào)錯(cuò)。啟動(dòng)后的首次歡迎界面會(huì)引導(dǎo)你選擇主題、導(dǎo)入以前的配置等。我自己一般選擇不導(dǎo)入直接全新的開始避免上一版本遺留的配置和新版沖突。5.2 在 IDEA 2025 里把項(xiàng)目 SDK 指定為 JDK21IDEA 安裝完以后最關(guān)鍵的一步就是把項(xiàng)目里的 SDK 指向 JDK21。操