misonoteApp Center

~/.m2/repository 太大能删吗?Maven 本地仓库清理

删前看一眼可能还有用的数据;Thermo 默认移到废纸篓,后悔还能找回。

位置

  • ~/.m2/repository

这是什么

Maven 构建时会把从远程仓库下载的 jar、pom 等构件存进 ~/.m2/repository,所有项目共享。执行 mvn install 时,本机构建出来的模块也会被安装到这里,供其他项目引用。

为什么会这么大

每个依赖的每个版本都会保留,SNAPSHOT 版本还会不断更新;Maven 自身没有自动清理机制,长期做 Java 开发的机器上这个目录很容易变得很大。

能删吗?删了会怎样

可以清理,但需要确认。从远程仓库下载的依赖删掉后,下次构建会重新下载。真正的风险在于你自己 install 到本地、没有发布到任何远程仓库的构件:删掉后只能重新构建对应项目才能恢复,依赖它们的项目在此之前会构建失败。离线环境或公司内网仓库不可用时也不要清。

小提示

如果只想瘦身,可以只删除很久没用的 groupId 目录,而不是整个仓库清空。

先看看占了多少

du -sh "$HOME/.m2/repository" 2>/dev/null

手动删除

在「终端」里执行。删除不可撤销,执行前请确认路径。

rm -rf "$HOME/.m2/repository"/*