如何正确执行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

相关推荐

  • 如何用tracetcp诊断网络故障?

    tracetcp 是用于诊断 TCP 连接问题的命令行工具,它通过发送 TCP SYN 包(而非 ICMP)跟踪数据包路径并显示各节点响应时间,特别适用于排查防火墙拦截或目标端口不通等网络故障。

    2025年7月6日
    1000
  • 如何用DIV快速开发网页命令行终端?

    核心实现原理通过HTML/CSS/JavaScript模拟命令行交互:结构层:使用<div>容器构建终端界面交互层:JavaScript捕获键盘事件并处理命令视觉层:CSS模拟终端光标和复古风格安全机制:沙盒化命令执行环境HTML结构搭建<div class="terminal&qu……

    2025年6月27日
    1000
  • 这些安全提示你错过了?

    时刻保持警惕,防范网络诈骗、盗窃及意外伤害,保护个人信息,不轻信陌生信息,遵守安全规程,注意用电、用火及出行安全,遇险及时求助,确保自身及他人安全。

    2025年6月13日
    1400
  • 执行清除路由器命令会怎样?

    清除路由器命令用于删除设备存储的配置文件或系统文件,通常不可恢复,执行后需重启设备使默认配置生效,常见命令如erase startup-config清除NVRAM中的启动配置,delete flash:删除闪存中的文件。

    2025年7月10日
    900
  • 如何检测ARP攻击?实用方案

    ARP攻击是什么?为什么需要检测?ARP(地址解析协议)是网络设备将IP地址转换为物理MAC地址的基础协议,ARP攻击则是攻击者通过发送伪造的ARP报文,欺骗网络设备建立错误的IP-MAC映射,导致:网络中断: 目标设备无法正常通信(如断网),数据窃听: 攻击者将流量劫持到自身设备(中间人攻击),窃取账号密码……

    2025年6月28日
    1200

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信