一、為什么需要構建工具?
在理解 Maven/Gradle 之前,先明確它們解決的問題:
- ??依賴管理??:項目中可能需要引入第三方庫(如 Spring、JUnit 等),手動下載和管理這些庫的版本非常麻煩。
- ??標準化構建流程??:編譯代碼、運行測試、打包成 JAR/WAR 文件等步驟需要自動化。
- ??插件擴展??:支持通過插件擴展功能(如代碼檢查、部署到服務器等)。
二、Maven 詳解
1. 核心概念
- ??POM 文件??:項目根目錄的
pom.xml
是 Maven 的核心配置文件,定義了項目的依賴、構建步驟等信息。 - ??坐標(Coordinates)??:通過
groupId
,artifactId
,version
唯一標識一個依賴。 - ??倉庫(Repository)??:
- ??本地倉庫??:默認在用戶目錄下的
.m2
文件夾,緩存已下載的依賴。 - ??中央倉庫??:Maven 官方維護的公共倉庫(repo.maven.apache.org)。
- ??私有倉庫??:公司內部搭建的倉庫(如 Nexus、Artifac
- ??本地倉庫??:默認在用戶目錄下的