Windows 上安装下载并配置 Apache Maven
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 配置。