夯實基礎:配置Java開發環境JDK與構建工具Maven

摘要:在前面兩個章節中,我們一同探討了Spring Boot的革命性優勢,并深入其內部,理解了起步依賴、自動配置和內嵌容器這三大核心基石。理論的鋪墊是為了更穩健的實踐。從本章開始,我們將正式“卷起袖子”,搭建一套專業、高效的本地開發環境。這是我們編碼之旅的起點,也是保證后續所有實戰順利進行的關鍵。



📚 《Spring Boot 從入門到精通》系列文章導航
擁抱變革:為何Spring Boot是現代Java開發的必然選擇
深入核心:理解Spring Boot的三大基石:起步依賴、自動配置與內嵌容器
夯實基礎:配置Java開發環境JDK與構建工具Maven
集成開發環境:在IntelliJ IDEA中高效運行與調試Spring Boot


引言:從“知道”到“做到”

我們已經知道了Spring Boot為何如此強大,但要真正駕馭它,首先需要一把“好劍”和一個“鍛造臺”。在Java世界里,這把“劍”就是JDK(Java Development Kit),而“鍛造臺”則是以Maven為代表的構建工具。上一章的結尾我們預告過,理論學習告一段落,是時候進入純粹的動手環節了。本章的核心目標非常明確:配置好JDK與Maven,為后續所有編碼實戰鋪平道路。

一、Java開發工具包 (JDK) 的安裝與配置

JDK是整個Java生態系統的基石,它提供了Java程序的編譯器(javac)、運行環境(JVM)以及核心類庫。沒有JDK,一切Java代碼都是普通的文本文件。

1.1 選擇合適的JDK版本

Spring Boot 3.x 要求 Java 17 或更高版本。因此,我們強烈推薦安裝JDK 17,這是一個長期支持(LTS)版本,兼具穩定性和現代化的特性。當然,你也可以選擇最新的LTS版本JDK 21。

官方推薦下載地址

  • Eclipse Temurin (Adoptium): https://adoptium.net/ (社區支持的、經過嚴格測試的OpenJDK發行版,強烈推薦)
  • Oracle JDK: https://www.oracle.com/java/technologies/downloads/ (Oracle官方JDK)

1.2 安裝與配置流程

安裝JDK的核心步驟是“下載 -> 安裝 -> 配置環境變量”。我們可以用一個流程圖來清晰地展示這個過程。

訪問Adoptium官網
選擇JDK 17版本和對應操作系統
下載安裝包
運行安裝程序
遵循向導完成安裝
配置環境變量 JAVA_HOME
將JAVA_HOME/bin添加到PATH
打開新的終端驗證安裝

1.3 配置環境變量(以Linux/macOS為例)

環境變量的配置是關鍵一步,它能讓操作系統在任何路徑下都能找到Java的命令。

  1. 找到JDK安裝路徑:通常在 /usr/lib/jvm//Library/Java/JavaVirtualMachines/ 目錄下。
  2. 編輯配置文件:打開你的shell配置文件,如 ~/.bash_profile, ~/.zshrc (macOS Catalina及以后版本默認使用zsh) 或 ~/.profile
  3. 添加配置:在文件末尾添加以下內容(請將 JAVA_HOME 的值替換為你的實際安裝路徑)。
# 設置JAVA_HOME,指向你的JDK安裝目錄
export JAVA_HOME=/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home
# 將Java的可執行文件目錄添加到系統PATH中
export PATH=$JAVA_HOME/bin:$PATH

1.4 驗證安裝

配置完成后,務必打開一個新的終端窗口,執行以下命令進行驗證:

# 檢查Java運行時版本
java -version# 檢查Java編譯器版本
javac -version

如果你能看到類似 openjdk version "17.x.x" 的輸出,并且兩個命令都能成功執行,那么恭喜你,JDK已經成功安裝!

二、構建工具王者 Maven 的安裝與配置

如果說JDK是基礎,那么Maven就是我們構建、管理、打包Spring Boot項目的“總工程師”。它能幫我們自動處理上一章提到的“起步依賴”,并執行編譯、測試、打包等一系列任務。

2.1 下載與安裝

  1. 訪問官網: 前往 Maven官方下載頁面。
  2. 下載: 下載最新的二進制壓縮包(apache-maven-3.x.x-bin.tar.gz.zip)。
  3. 解壓: 將壓縮包解壓到一個你指定的目錄,例如 /opt/maven~/tools/maven。這個解壓后的目錄就是你的 MAVEN_HOME

2.2 配置環境變量與本地倉庫

與JDK類似,我們也需要為Maven配置環境變量。同時,配置一個國內的鏡像源可以極大地提升依賴下載速度。

  1. 配置環境變量:再次打開你的shell配置文件(如 ~/.zshrc),添加如下配置:
# 設置MAVEN_HOME,指向你的Maven解壓目錄
export MAVEN_HOME=/opt/apache-maven-3.9.6
# 將Maven的可執行文件目錄添加到系統PATH中
export PATH=$MAVEN_HOME/bin:$PATH
  1. 配置鏡像源:這是提升開發效率的關鍵一步。找到Maven的配置文件 conf/settings.xml,在 <mirrors> 標簽內添加阿里云的鏡像配置。
<!-- file: MAVEN_HOME/conf/settings.xml -->
<mirrors><!-- 阿里云鏡像 --><mirror><id>aliyunmaven</id><mirrorOf>*</mirrorOf><name>Alibaba Cloud Maven Mirror</name><url>https://maven.aliyun.com/repository/public</url></mirror>
</mirrors>

2.3 驗證安裝

同樣,打開一個新的終端窗口,執行以下命令:

# 檢查Maven版本
mvn -v

如果你能看到Maven的版本信息、Java版本以及你的MAVEN_HOME路徑,說明Maven也已準備就緒。

總結

“工欲善其事,必先利其器”。今天,我們花了整整一章的篇幅來打磨我們的開發工具,這絕不是浪費時間。我們完成了兩件至關重要的事:

  • 安裝并配置了JDK 17:為我們的Spring Boot應用提供了堅實的運行環境。
  • 安裝并配置了Maven:獲得了強大的項目構建與依賴管理能力,并配置了國內鏡像以提高效率。

現在,你的開發環境已經“整裝待發”,完全具備了開發現代化Spring Boot應用的能力。

預告:萬事俱備只欠東風!既然我們的環境已經搭建完畢,下一章,我們將正式開始創建第一個屬于自己的項目。我們將學習如何使用官方推薦的**創建項目:使用Spring Initializr初始化你的第一個應用程序**,從零到一構建起一個標準的Spring Boot應用骨架。敬請期待!


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/90039.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/90039.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/90039.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PyCharm 未正確關聯 .jpg 為圖片格式

1. PyCharm 未正確關聯 .jpg 為圖片格式PyCharm 可能錯誤地將 .jpg 文件識別為文本文件&#xff0c;導致無法預覽圖片。解決方法手動關聯 .jpg 為圖片格式&#xff1a;Windows/Linux: File → SettingsmacOS: PyCharm → Preferences進入 Editor → File Types。在 Recognized …

DM8數據庫Docker鏡像部署最佳實踐

DM8數據庫Docker鏡像部署最佳實踐一、Docker加載DM8鏡像二、Docker創建DM8容器三、驗證目錄是否掛載成功一、Docker加載DM8鏡像 1.下載DM8鏡像&#xff0c;由于官網暫未提供docker鏡像下載&#xff0c;可通過網盤下載&#xff1a;https://pan.quark.cn/s/fe38ba821a2a 2.打開…

數據結構——樹(2)

數據結構基礎&#xff08;12&#xff09; 文章目錄數據結構基礎&#xff08;12&#xff09;二叉樹的先序遍歷先序遍歷中序遍歷后序遍歷二叉樹的層序遍歷由遍歷序列構造二叉樹前序 中序遍歷序列后序 中序遍歷序列層序 中序遍歷序列二叉樹的中序遍歷&#xff08;缺點&#xff…

【C語言進階】結構體練習:通訊錄

要求&#xff1a; 實現一個通訊錄。 (1)人的信息&#xff1a; 包括姓名、年齡、性別、電話地址。 (2)功能&#xff1a; ①存放一百個人的信息。 ②增加聯系人。 ③刪除指定聯系人。 ④查找指定聯系人。 ⑤修改聯系人。 ⑥排序。 ⑦顯示聯系人。 (3)文件&#xff1a; ①contact.…

緩存三劍客解決方案

緩存三劍客解決方案 1.緩存雪崩 定義&#xff1a; 大量緩存數據在同一時間點集體失效&#xff0c;導致所有請求直接穿透到數據庫&#xff0c;引發數據庫瞬時高負載甚至崩潰。 解決方案&#xff1a; 設置過期隨機值&#xff0c;避免大量緩存同時失效。 // 緩存雪崩防護&#xff…

HTML 頁面禁止縮放功能

頁面禁止縮放 代碼如下&#xff1a; <!DOCTYPE html> <html lang"en"><head><meta charset"utf-8"><meta name"viewport" content"widthdevice-width, initial-scale1, shrink-to-fitno, maximum-scale1.0, us…

在github上搭建自己主頁

主要是這篇博客進行一些補充。 第一步照做就行 首先是第二步 克隆倉庫到本地 先下載一個git&#xff0c;電腦創建一個新文件夾&#xff0c;然后 git clone xxxxx 注意即使你使用了代理&#xff0c;這里大概率也會報錯&#xff0c;Failed to connect to github.com port 443 …

Laravel 框架NOAUTH Authentication required 錯誤解決方案-優雅草卓伊凡

Laravel 框架NOAUTH Authentication required 錯誤解決方案-優雅草卓伊凡NOAUTH Authentication required 錯誤這個錯誤通常出現在以下幾種情況&#xff1a;Redis 認證問題&#xff1a;如果你的應用使用了 Redis 且配置了密碼API 認證問題&#xff1a;請求需要認證的 API 端點但…

kafka生產端和消費端的僵尸實例以及解決辦法

目錄 一 生產端僵尸 1.1 原因 1.2 問題 1.3解決辦法 1.4 案例 1.4.1 案例1&#xff1a;生產者崩潰后重啟 (同一 transactional.id) 1.4.2 案例2&#xff1a;短暫網絡分區導致的腦裂 1.4.3 案例3&#xff1a;正確 - 解決僵尸 1.4.4 案例4&#xff1a;錯誤 - 無法解決僵…

國產電科金倉數據庫金倉KES V9 2025:AI時代的數據庫融合標桿

國產電科金倉數據庫金倉KES V9 2025&#xff1a;AI時代的數據庫融合標桿 在AI技術迅猛發展的今天&#xff0c;企業數據管理面臨著前所未有的挑戰&#xff1a;異構數據庫兼容難題、多數據模型融合需求、高并發場景性能瓶頸、跨中心容災壓力……這些痛點如同數據流轉的大問題&am…

【STM32】關于STM32F407寫Flash失敗問題的解決辦法

問題描述 在使用正點原子的STM32F407寫flash例程時&#xff0c;發現STMFLASH_Write函數沒辦法寫入數據到flash&#xff0c;原始代碼輸入下&#xff1a; 隨后對每一行代碼的結果進行分析&#xff0c;發現87行的“FLASH_ProgramWord(WriteAddr,*pBuffer)”返回值是7&#xff0c;一…

CUDA與RISC-V的融合:打破架構霸權,重塑AI計算未來

當x86和Arm統治數據中心十余年后,一家GPU巨頭正悄悄將十億顆RISC-V核心嵌入其系統。如今,它決定拆除CPU架構的圍墻。 2025年7月,上海張江科學會堂。英偉達硬件工程副總裁Frans Sijstermanns在第五屆RISC-V中國峰會上宣布:英偉達正式啟動CUDA向RISC-V架構的移植工作。 這個…

微信二維碼掃描登錄流程詳解

二維碼掃描登錄流程細節&#xff08;項目經驗&#xff09; 1&#xff1a; 獲取二維碼信息 PC會優先存放服務器生成的唯一密鑰&#xff1a; 比如 source、secret 以密文形式存儲大致發送字段&#xff1a; sourcesecretmac(mac 地址) 服務器生成 二維碼信息&#xff1a;二維碼字符…

日本上市IT企業|8月125日將在大連舉辦赴日it招聘會

株式會社GSD的核心戰略伙伴貝斯株式會社&#xff0c;將于2025年8月25日在大連香格里拉大酒店商務會議室隆重舉辦赴日技術人才專場招聘會。本次招聘會面向全國范圍內的優秀IT人才&#xff0c;旨在為貝斯株式會社東京本社長期發展招募優質的系統開發與管理人才。招聘計劃&#xf…

Python 數據分析與可視化:從基礎到進階的技術實現與優化策略

數據分析與可視化是數據科學領域的核心技能,Python 憑借其豐富的庫生態和靈活的編程范式,成為該領域的首選工具。本文將系統講解 Python 數據分析與可視化的技術棧實現,從基礎操作到性能優化,結合實戰場景提供可復用的解決方案。 數據分析核心庫技術解析 Pandas 數據處理…

Rust Web 全棧開發(十):編寫服務器端 Web 應用

Rust Web 全棧開發&#xff08;十&#xff09;&#xff1a;編寫服務器端 Web 應用Rust Web 全棧開發&#xff08;十&#xff09;&#xff1a;編寫服務器端 Web 應用創建成員庫&#xff1a;webappmodelshandlersrouterserrorsmodsvrstaticteachers.htmlregister.htmlbootstrap.m…

每日面試題11:JVM

深入理解JVM&#xff1a;Java的“心臟”如何驅動程序運行&#xff1f;為什么需要JVM&#xff1f;你是否想過&#xff0c;為什么用Java寫的程序&#xff0c;能在Windows、Linux、macOS上“無縫運行”&#xff1f;為什么開發者無需為不同操作系統重寫代碼&#xff1f;這背后的核心…

Linux網絡信息(含ssh服務和rsync)

73.telnet&#xff1a;測試端口連通性用法&#xff1a;telnet 主機名或IP 端口號測試目標主機的指定端口是否開放&#xff0c;檢查網絡服務連通性。eg&#xff1a;telnet www.baidu.com 80# 說明&#xff1a;# - 如果連接成功&#xff0c;顯示 "Connected to ..."。…

【PTA數據結構 | C語言版】我愛背單詞

本專欄持續輸出數據結構題目集&#xff0c;歡迎訂閱。 文章目錄題目代碼題目 作為一個勤奮的學生&#xff0c;你在閱讀一段英文文章時&#xff0c;是否希望有個程序能自動幫你把沒有背過的生詞列出來&#xff1f;本題就請你實現這個程序。 輸入格式&#xff1a; 輸入第 1 行給…

如何使用電腦連接小米耳機(紅米 redmi耳機)

如何使用電腦連接小米&#xff08;紅米 redmi&#xff09;耳機Redmi耳機連接電腦的具體步驟如下注意事項和常見問題解決方法&#xff1a;Redmi耳機連接電腦的具體步驟如下 打開耳機倉蓋&#xff1a; 首先&#xff0c;打開Redmi耳機的充電倉蓋&#xff0c;但不需要取出耳機。進…