Maven笔记——2

1 安装前置条件

本地必须提前安装 JDK1.8 及以上版本 ,并配置好JAVA_HOME系统环境变量,Maven 运行依赖 JVM。

2 Maven 压缩包目录解析

从官网下载 Maven 压缩包,解压路径不能包含中文、空格,解压后目录分工:

  • bin:存放mvn(Linux) / mvn.cmd(Windows) 执行脚本,提供命令行指令
  • boot:Maven 内置类加载器核心框架
  • conf:存放全局配置文件settings.xml(核心配置文件)
  • lib:Maven 自身运行所需的全部依赖 jar 包
  • LICENSE、README:版本说明文档,无需修改

3 Windows 环境变量配置

3.1 配置 MAVEN_HOME

新建系统变量,变量名:MAVEN_HOME 变量值:Maven 解压后的根目录,例 D:\tools\apache-maven-3.6.0

3.2 配置 Path 系统变量

在 Path 列表末尾新增一条:

plaintext

复制代码
%MAVEN_HOME%\bin

配置完成后,任意 CMD、PowerShell 窗口都能识别mvn命令。

3.3 MAVEN_OPTS 内存参数配置

作用:控制 Maven 运行时 JVM 堆内存,多模块打包防止 OOM 内存溢出 新建系统变量 MAVEN_OPTS,值:

plaintext

复制代码
-Xms128m -Xmx512m
  • -Xms128m:JVM 初始堆内存 128M
  • -Xmx512m:JVM 最大可用堆内存 512M

4 两份 settings.xml 配置文件区分

Maven 存在两份仓库配置文件,用户配置优先级 > 全局配置,重复配置会覆盖全局:

表格

文件路径 生效范围 优先级
Maven 解压目录 /conf/settings.xml 本机所有操作系统用户(全局) 低
C:\Users\ 你的用户名.m2\settings.xml 仅当前登录系统用户 高

补充说明

  1. .m2文件夹第一次执行mvn命令自动生成;
  2. 日常开发推荐修改用户目录下的 settings,不会影响其他用户。

5 验证 Maven 安装是否成功

关闭所有旧终端窗口,重新打开 CMD/PowerShell,执行命令:

bash

运行

复制代码
mvn -v

输出 Maven 版本、JDK 版本、本地仓库路径即代表配置成功。

6 常见报错解决方案

报错 1:提示 ' mvn ' 不是内部或外部命令

原因:Path 环境未配置 / 配置后未重启终端 解决:重新检查 Path,关闭终端重新打开测试。

报错 2:提示Program Files路径引号报错

原因:JDK 路径带有空格,PowerShell 解析出错 解决 1:将 JDK 转移到无空格路径,如D:\jdk21 解决 2:修改 JAVA_HOME 使用 8.3 短路径 C:\Progra~1\Java\jdk-21.0.11

本章小结

  1. Maven 安装依赖 JDK,解压路径禁止中文空格;
  2. 环境变量核心:MAVEN_HOME、Path、MAVEN_OPTS;
  3. 两份 settings 文件作用不同,用户配置优先级更高;
  4. mvn -version 是验证安装的标准命令。
相关推荐
夜之眷属几秒前
Core dump 崩溃排查:JVM 宕机后,那份 core 文件怎么用 gdb 还原现场
java·运维·服务器·jvm
波加曼大王3 分钟前
# vLLM不要迷信PagedAttention神话,聊聊线上藏着的内部碎片陷阱
java·架构
乐橙开放平台3 分钟前
智慧连锁客流检测和离岗检测怎么对接
大数据·人工智能·笔记·物联网·自动化·音视频·智能家居
零基础1234 分钟前
FinalShell 使用教程:从安装到高效运维
运维·经验分享·笔记·finalshell
SL_staff7 分钟前
目标健康度自检清单:开发者视角下的目标-计划-任务链路断点诊断
java·开源·github
for_ever_love__11 分钟前
MySQL 高频面试题 30 问:索引、事务、锁、日志、主从与分库分表(MySQL 8.0 版)
java·数据库·spring boot·mysql·spring cloud·面试·总结
神仙别闹12 分钟前
基于C++实现的贪吃蛇游戏平台
java·c++·游戏
ACP广源盛1392462567315 分钟前
Type‑C 扩展坞方案选型笔记|国产 DP1.4 转 HDMI2.0 桥接芯片 GSV2201S @ACP评估
c语言·开发语言·笔记·硬件架构·硬件工程·国产芯片
布吉岛的石头21 分钟前
Java 程序员第 49 阶段11:Java 接 BERT:用 ONNX Runtime 做句向量推理
java·人工智能·python·深度学习·bert·transformer
niucloud-admin30 分钟前
JAVA V6 多商户商城 开发文档——JAVA服务端
java·开发语言