Maven默认本地仓库路径可修改为D盘等自定义位置:先新建空文件夹,再编辑settings.xml添加<localRepository>D:\maven-repo</localRepository>,最后在IDEA中同步配置Maven路径与仓库地址。

当你用Maven构建项目时,所有下载的jar包默认堆在C盘用户目录下的.m2/repository里,磁盘空间吃紧、多项目共用缓存混乱、或想把依赖统一放在D盘或NAS上,就必须改掉这个默认路径。
修改全局默认本地仓库路径(永久生效)
这一步影响所有新创建的Maven项目,且无需每次命令行手动指定。
第一步:在你希望存放仓库的磁盘(比如D:\maven-repo)手动新建一个空文件夹,不要留空格或中文路径,例如:D:\maven-repo。
第二步:找到或新建 Maven 的全局配置文件 settings.xml。Windows系统路径是 %USERPROFILE%\.m2\settings.xml;Linux/macOS 是 ~/.m2/settings.xml。如果该文件不存在,就新建一个纯文本文件,保存为 settings.xml,编码必须为 UTF-8。
第三步:用文本编辑器打开 settings.xml,确保最外层是 <settings></settings> 标签包裹,然后在其中插入一行:<localrepository>D:\maven-repo</localrepository>。注意:标签名是 localRepository(小写L),不是 localrepository 或 LocalRepository,拼错会导致配置完全失效。
第四步:保存文件,关闭编辑器。此时旧的 .m2/repository 文件夹仍存在,但新项目不会再往里写入——它只读不删,也不迁移已有jar,这点不用手动处理。
第五步:验证是否生效。打开终端,执行:mvn help:system | findstr "localRepository"(Windows)或mvn help:system | grep localRepository(macOS/Linux)。输出中出现你刚设置的路径(如 D:\maven-repo),说明配置已加载。
IDEA中让新建项目自动使用自定义仓库
即使全局 settings.xml 已改,IntelliJ IDEA 默认仍可能读取内置 Maven 或错误路径,导致新项目继续往 C 盘写依赖。
方法一:设置新项目的默认Maven配置
① 打开 IDEA → File → New Projects Settings → Settings for New Projects…
② 在左上角搜索框输入 maven,定位到 Build, Execution, Deployment → Build Tools → Maven
③ 修改三项:
– Maven home directory:指向你安装的 Maven 目录(如 D:\apache-maven-3.9.6)
– User settings file:选中你刚编辑好的 %USERPROFILE%\.m2\settings.xml
– Local repository:直接填入你设定的路径,例如 D:\maven-repo
④ 点击 Apply → OK。此后所有新建项目都会自动采用该仓库路径,无需再手动改 pom.xml 或右键刷新。
方法二:临时覆盖单个项目(适合已有项目补救)
打开项目 → File → Project Structure → Project Settings → Modules → 选中模块 → Dependencies → 点击 + → Library → From Maven → 输入任意坐标(如 junit:junit:4.13.2)→ 在弹出窗口右下角点击 “Change…” → 浏览到你的自定义仓库路径(如 D:\maven-repo)→ 确定。这会强制该项目将依赖解析绑定到该路径,但不推荐长期使用。
命令行临时指定仓库路径(仅本次生效)
适用于调试、CI流水线临时切换,或测试不同仓库隔离性。
方法一:用 -D 参数传入
执行 Maven 命令时追加:mvn clean compile -Dmaven.repo.local=E:/temp-mvn-repo
注意:参数名是 -Dmaven.repo.local,不是 -DlocalRepository,后者无效。
方法二:用 -s 指向独立 settings 文件
先准备一个专用配置文件 temp-settings.xml,内容仅含:<settings><localrepository>F:/sandbox/repo</localrepository></settings>
然后运行:mvn clean install -s temp-settings.xml
该方式会完全忽略全局 settings.xml 和 IDEA 设置,只读取你指定的文件。

















