环境准备(先决条件)
-
安装Java
Maven依赖Java环境:-
下载JDK 8+(Oracle官网 或 OpenJDK)
-
配置环境变量:
# Windows:系统属性 → 环境变量 JAVA_HOME = C:\Program Files\Java\jdk-17 # Linux/macOS:添加到 ~/.bashrc 或 ~/.zshrc export JAVA_HOME=/usr/lib/jvm/jdk-17 export PATH=$JAVA_HOME/bin:$PATH
-
-
安装Maven
-
下载Maven 3.6.3+(官网)
-
配置环境变量:
# Windows M2_HOME = C:\apache-maven-3.8.6 PATH = %M2_HOME%\bin;%PATH% # Linux/macOS export M2_HOME=/opt/apache-maven-3.8.6 export PATH=$M2_HOME/bin:$PATH
-
验证安装:
mvn -v # 输出Maven及Java版本即成功
-
mvn 命令基础结构
mvn [选项] <生命周期阶段> [<生命周期阶段>...]
- 选项(Options):控制Maven行为的参数(如
-D
定义属性)。 - 生命周期阶段(Phase):Maven构建流程的步骤(如
compile
、test
)。
核心生命周期命令
Maven构建基于生命周期模型,常用阶段如下:
| 命令 | 作用 | 示例 |
|———————|——————————-|———————–|
| mvn clean
| 删除target
目录(清理构建) | mvn clean
|
| mvn compile
| 编译主代码 | mvn compile
|
| mvn test
| 运行单元测试 | mvn test
|
| mvn package
| 打包项目(JAR/WAR) | mvn package
|
| mvn install
| 安装到本地仓库 | mvn install
|
| mvn deploy
| 部署到远程仓库(如Nexus) | mvn deploy
|
| mvn verify
| 集成测试 | mvn verify
|
链式执行:
mvn clean package # 先清理再打包 mvn test install # 运行测试后安装到本地
常用选项(参数)
选项 | 说明 | 示例 |
---|---|---|
-D<属性名>=<值> |
定义系统属性(覆盖pom.xml 配置) |
mvn test -DskipTests=true |
-P<profile> |
激活指定的构建配置(Profile) | mvn install -Pprod |
-e |
显示详细错误信息(排障必备) | mvn compile -e |
-X |
开启Debug模式(输出完整执行日志) | mvn package -X |
-U |
强制更新远程仓库的依赖(避免缓存问题) | mvn clean install -U |
-pl |
构建指定模块(多模块项目) | mvn install -pl module-a |
-am |
同时构建依赖模块(需配合-pl ) |
mvn install -pl module-a -am |
实战示例
- 跳过测试并打包:
mvn clean package -DskipTests
- 激活生产配置并部署:
mvn clean deploy -Pprod
- 多模块构建:
# 仅构建module-a及其依赖 mvn install -pl module-a -am
常见问题解决
-
命令未找到(
mvn: command not found
)- 检查
PATH
环境变量是否包含Maven的bin
目录。 - 重启终端或执行
source ~/.bashrc
(Linux/macOS)。
- 检查
-
依赖下载失败
- 使用
-U
强制更新:mvn -U clean install
。 - 检查网络或镜像配置(
~/.m2/settings.xml
)。
- 使用
-
构建错误(如编译失败)
- 添加
-e
或-X
查看详细日志:mvn compile -e
。 - 确认JDK版本与
pom.xml
中<java.version>
一致。
- 添加
-
插件执行报错
- 更新Maven版本(兼容性问题)。
- 检查插件配置(如
maven-compiler-plugin
)。
最佳实践
- 优先使用官方仓库:配置阿里云镜像加速(修改
settings.xml
):<mirror> <id>aliyun</id> <url>https://maven.aliyun.com/repository/public</url> <mirrorOf>central</mirrorOf> </mirror>
- 定期清理本地仓库:
- 删除
~/.m2/repository
中无用依赖(节省空间)。
- 删除
- 使用Wrapper避免环境问题:
mvn wrapper:wrapper # 生成mvnw脚本(跨平台兼容) ./mvnw clean install # 代替mvn命令
引用说明
- Maven官方文档:Apache Maven Documentation
- JDK安装指南:Oracle Java Documentation
- 环境变量配置:Maven Installation Guide
- 阿里云镜像仓库:Maven Mirror Settings
基于Maven 3.8.6及Java 17验证,遵循Apache Maven最佳实践,建议定期查阅官方文档获取更新。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/4671.html