如何正确执行Maven命令?

环境准备(先决条件)

  1. 安装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
  2. 安装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构建流程的步骤(如 compiletest)。

核心生命周期命令

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

实战示例

  1. 跳过测试并打包
    mvn clean package -DskipTests
  2. 激活生产配置并部署
    mvn clean deploy -Pprod
  3. 多模块构建
    # 仅构建module-a及其依赖
    mvn install -pl module-a -am

常见问题解决

  1. 命令未找到(mvn: command not found

    • 检查PATH环境变量是否包含Maven的bin目录。
    • 重启终端或执行 source ~/.bashrc(Linux/macOS)。
  2. 依赖下载失败

    • 使用 -U 强制更新:mvn -U clean install
    • 检查网络或镜像配置(~/.m2/settings.xml)。
  3. 构建错误(如编译失败)

    • 添加 -e-X 查看详细日志:mvn compile -e
    • 确认JDK版本与pom.xml<java.version>一致。
  4. 插件执行报错

    • 更新Maven版本(兼容性问题)。
    • 检查插件配置(如maven-compiler-plugin)。

最佳实践

  1. 优先使用官方仓库:配置阿里云镜像加速(修改settings.xml):
    <mirror>
      <id>aliyun</id>
      <url>https://maven.aliyun.com/repository/public</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  2. 定期清理本地仓库
    • 删除 ~/.m2/repository 中无用依赖(节省空间)。
  3. 使用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

(0)
酷番叔酷番叔
上一篇 2025年6月16日 15:32
下一篇 2025年6月16日 16:08

相关推荐

  • 安全合规排行榜能否真实反映企业合规水平?

    安全合规排行榜是通过第三方机构对企业在法律法规遵循、数据安全管理、技术防护能力等方面的系统性评估形成的排名,旨在为行业提供合规参考,帮助用户识别风险对象,推动企业提升安全合规水平,这类榜单通常基于多维量化指标,结合行业实践与监管要求,成为企业合规建设的重要参考工具,评选安全合规排行榜的核心指标涵盖多个维度,以下……

    5天前
    900
  • Linux at命令如何定时执行任务?

    at 是 Linux 中用于安排一次性定时任务的核心工具,它允许用户在指定时间执行命令或脚本(例如备份文件、发送邮件或重启服务),任务执行后自动消失,适合临时性计划任务,安装与基本语法安装(多数系统已预装)若未安装,执行以下命令:sudo apt install at # Debian/Ubuntusudo y……

    2025年7月21日
    4100
  • 如何掌握Linux时间管理技巧?

    date 命令(最常用)功能:查看或设置系统时间(软件时钟)基本用法:date # 显示当前系统时间输出示例:Wed Jun 12 15:30:45 CST 2024高级用法:自定义格式(支持开头的格式符): date "+%Y-%m-%d %H:%M:%S" # 输出:2024-06-12……

    2025年7月28日
    4200
  • dos命令怎么复制目录结构

    使用 XCOPY 命令复制目录结构,`XCOPY C:\source

    2025年8月17日
    3000
  • 命令行如何修改用户ID?

    命令行修改ID通常指更改用户账户名(username)或用户唯一标识符(UID),这是系统管理中常见的操作需求。

    2025年6月27日
    5700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信