1. 下載 Maven
-
訪問官網:
打開?Apache Maven 下載頁面。 -
選擇版本:
下載最新的?Binary zip archive(例如?apache-maven-3.9.9-bin.zip
)。注意:不要下載?
-src
?版本(那是源碼包)。
2. 解壓 Maven
-
將下載的?
apache-maven-3.9.6-bin.zip
?解壓到目標目錄,例如:
(注意不要有多余的空格,如下就行)
C:\Program Files\apache-maven-3.9.9
3. 配置環境變量
(1) 設置?MAVEN_HOME
-
右鍵?此電腦?→?屬性?→?高級系統設置?→?環境變量。
-
在?系統變量?中點擊?新建:
-
變量名:
MAVEN_HOME
-
變量值:
C:\Program Files\apache-maven-3.9.9
(你的 Maven 解壓路徑)
-
如何驗證配置是否正確?
-
打開命令提示符(CMD),運行:
echo %MAVEN_HOME%
應輸出:C:\Program Files\apache-maven-3.9.9
(2) 添加 Maven 到?PATH
-
在?系統變量?中找到?
Path
?→?編輯?→?新建,添加:%MAVEN_HOME%\bin
-
點擊?確定?保存所有窗口。
4. 驗證安裝(注意要重啟后環境配置才能生效)
-
打開?命令提示符(CMD)?或?PowerShell,運行:
mvn -version
-
成功輸出示例:
Apache Maven 3.9.9 (...) Maven home: C:\Program Files\apache-maven-3.9.9 Java version: 1.8.0_451, vendor: Oracle Corporation
5. 配置 Maven 鏡像(可選,加速下載)
-
打開 Maven 的配置文件:
C:\Program Files\apache-maven-3.9.9\conf\settings.xml
-
在?
<mirrors>
?標簽內添加阿里云鏡像:運行
<mirror><id>aliyunmaven</id><name>阿里云公共倉庫</name><url>https://maven.aliyun.com/repository/public</url><mirrorOf>central</mirrorOf> </mirror>
常見問題解決
1.?mvn -version
?報錯 “不是內部命令”
-
檢查?
MAVEN_HOME
?和?PATH
?是否配置正確。 -
重啟 CMD 或 IDE(如 IntelliJ IDEA)使環境變量生效。
2. Java 版本不兼容
-
Maven 需要 JDK 1.7+,確保已安裝并配置?
JAVA_HOME
:java -version # 驗證 Java echo %JAVA_HOME% # 檢查變量
3. 依賴下載失敗
-
檢查網絡是否正常,或按?步驟 5?配置鏡像。
總結
步驟 | 操作 |
---|---|
1. 下載 | 從官網獲取?apache-maven-*-bin.zip |
2. 解壓 | 放到無空格路徑(如?C:\Program Files\ ) |
3. 環境變量 | 設置?MAVEN_HOME ?和?PATH |
4. 驗證 | mvn -version ?檢查版本 |
5. 鏡像加速 | 修改?settings.xml ?使用阿里云 |
現在你可以用 Maven 管理 Java/Hadoop 項目了!如果需要編譯 Hadoop 源碼,只需在源碼目錄運行:
這條 Maven 命令是用于?編譯 Hadoop 源碼?或類似大型 Java 項目的專用指令
mvn clean package -Pdist,native -DskipTests -Dtar
參數/選項 | 作用 |
---|---|
mvn clean | 清理之前編譯生成的?target ?目錄 |
package | 編譯源碼并打包(生成 JAR/WAR 等) |
-Pdist,native | 激活 Maven 的?dist ?和?native ?兩個 Profile(特定編譯配置) |
-DskipTests | 跳過單元測試(加速編譯) |
-Dtar | 生成最終的?.tar.gz ?分發包(Hadoop 專用) |
詳細說明
-
-Pdist,native
-
dist
?Profile:
啟用 Hadoop 的分布式打包配置,生成包含所有依賴的完整分發包。 -
native
?Profile:
編譯 Hadoop 的本地庫(如壓縮、加密等功能的 C/C++ 擴展,通過 JNI 調用)。若未啟用,Hadoop 會回退到純 Java 實現(性能可能降低)。
-
-
-DskipTests
-
跳過?
mvn test
?階段,避免耗時的單元測試和集成測試。 -
適用場景:快速驗證編譯是否通過,或測試已在其他環節完成。
-
-
-Dtar
-
要求 Maven 最終生成一個?
.tar.gz
?格式的壓縮包(Hadoop 的二進制分發包)。 -
輸出路徑:
hadoop-dist/target/hadoop-3.3.6.tar.gz
(以 Hadoop 3.3.6 為例)。
-
?
典型應用場景
-
從源碼編譯 Hadoop
-
當你需要修改 Hadoop 源碼或使用特定平臺的本地庫時,通過此命令生成定制化版本。
-
示例:
# 進入 Hadoop 源碼目錄 cd hadoop-3.3.6-src # 執行編譯 mvn clean package -Pdist,native -DskipTests -Dtar
-
-
跨平臺兼容性
-
在 Linux 上編譯時,
-Pnative
?會生成針對當前系統的本地庫(如?.so
?文件)。 -
在 Windows 上需額外安裝?Windows SDK?和?CMake。
-
注意事項
-
依賴環境
-
需提前安裝:
-
JDK 8/11
-
Maven 3.6+
-
GCC/CMake(若啟用?
-Pnative
)
-
-
網絡暢通(需下載大量依賴)。
-
-
時間與資源
-
首次編譯可能耗時?30 分鐘~2 小時(依賴下載和本地庫編譯)。
-
建議內存 ≥4GB,磁盤空間 ≥10GB。
-
-
常見問題
-
編譯失敗:檢查錯誤日志,常見原因包括:
-
網絡問題(依賴下載失敗)
-
缺少本地工具鏈(如?
make
、autoconf
) -
版本不兼容(如 JDK 過高)
-
-
跳過本地庫:移除?
-Pnative
?僅編譯 Java 部分。
-
簡化命令對比
命令 | 用途 |
---|---|
mvn clean package | 僅編譯 Java 部分,不打包分發版 |
mvn package -DskipTests | 跳過測試,快速打包 |
mvn package -Pdist -Dtar | 生成分發包但不編譯本地庫 |
通過此命令,你可以高效構建定制化的 Hadoop 分發版。如需進一步優化,可調整?pom.xml
?中的 Profile 配置。
?