在前面的討論中,我們已經介紹了如何使用 Spring Initializr 建立 Spring Boot 3 專案。接下來,我們要更深入了解 Maven,這是 Spring Boot 預設支援的建構工具(Build Tool)。
Maven 是一款專為 Java 生態系統設計的建構工具,負責:
Spring Boot 預設支援 Maven,讓開發者能夠輕鬆管理應用程式的相依性。
簡單比喻
可以把 Maven 想像成是一位「專案管理員(Project Manager)」:
就像煮菜時有「廚房」、「冰箱」、「試吃員」:
有了 Maven,你就不需要自己一個一個去下載 .jar
套件、放到 lib
資料夾,所有事情 Maven 都會自動完成。
以下是典型的 Spring Boot Maven 專案結構:
| .gitattributes
| .gitignore
| HELP.md
| mvnw
| mvnw.cmd
| pom.xml
|
+---.mvn
| \---wrapper
| maven-wrapper.properties
|
\---src
+---main
| +---java
| | \---com
| | \---example
| | \---demo
| | DemoApplication.java
| |
| \---resources
| application.properties
|
\---test
\---java
\---com
\---example
\---demo
DemoApplicationTests.java
目錄與檔案說明
根目錄
target/
和 IDE 設定檔 .idea/
等。mvn
命令。.mvn/wrapper
目錄
src/main/java
目錄
@SpringBootApplication
註解(Annotation),內有 main
方法用於啟動 Spring Boot 應用程式。src/main/resources
目錄
application.properties
,就像「冰箱」裡的原料。src/test/java
目錄
@SpringBootTest
註解(Annotation),模擬應用程式環境進行測試。這個專案結構是 Spring Boot 預設的標準架構,適合用於快速開發 REST API 或完整的 Web 應用程式。
.m2
資料夾的用途當您在 Windows 系統上使用 Maven 時,可能會注意到一個位於 C:\Users\<使用者名稱>\.m2
的資料夾。這個資料夾在 Maven 的運作中扮演著關鍵角色,就像你家裡的「冰箱」。
.m2
資料夾是 Maven 的本地儲存庫(Local Repository),用來儲存您專案所需的所有相依(Dependencies)和外掛(Plugins)。當您在專案的 pom.xml
檔案中需要新的依賴 (Dependencies)時,Maven 會自動從中央儲存庫(Maven Central Repository)下載所需的套件,然後儲存到 .m2/repository
資料夾中。這樣,當前或未來的專案需要相同的套件時,Maven 可以直接從本地儲存庫(Local Repository)中取得,無需再次下載。
.m2
資料夾的結構在 .m2
資料夾中,最重要的子資料夾是 repository
,它包含了所有下載的相依(Dependencies)和外掛(Plugins)。此外,您可能會看到一個名為 settings.xml
的檔案,這是 Maven 的使用者級別設定檔,允許您自訂 Maven 的行為,例如:變更本地儲存庫(Repository)的位置、設定代理伺服器(Proxy)、定義鏡像(Mirror)等。
以下為 Windows 系統的典型路徑為:
C:\Users\<使用者名稱>\.m2
├── repository/ # 存放所有下載的依賴套件
└── settings.xml # 全域性設定檔
本地依賴儲存庫
.m2/repository
是 Maven 存放所有下載依賴套件(如 .jar
檔案)的預設路徑。首次編譯專案時,Maven 會從中央儲存庫 (Maven Central Repository)下載套件至此目錄,後續其他專案即可直接從 .m2/repository
複用,不用再下載。
系統層級設定檔
settings.xml
檔案通常位於 .m2
目錄下,用於定義全域設定檔 (Global Settings File),包括:
<localRepository>
。管理注意事項
.m2/repository
內容以釋放空間,Maven 會在下次編譯時重新下載必要依賴。settings.xml
的 <localRepository>
標籤變更預設儲存庫位置。.m2
目錄下的設定檔(settings.xml
)是否與專案 POM 檔案(pom.xml
)配置衝突。.m2
資料夾通常,當您首次執行 Maven 命令時,Maven 會自動在您的使用者目錄下建立 .m2
資料夾。如果您發現該資料夾不存在,可以手動執行以下步驟:
確認 Maven 已安裝並設定正確:在命令提示字元中輸入 mvn -v
,檢查 Maven 的版本資訊。如果未顯示版本資訊,請確保已正確安裝並設定環境變數。
執行 Maven 命令以初始化 .m2
資料夾:在命令提示字元中輸入 mvn help:system
。此命令會讓 Maven 執行一次任務,過程中會自動在使用者目錄下建立 .m2
資料夾。