什么时候删除本地Maven存储库是安全的?

时间:2012-04-06 22:27:06

标签: maven

如果我在线工作并且可以通过远程存储库访问所有需要的工件,那么rm -rf ~/.m2/repository在哪种情况下对于{{1}}分别是不安全的。

4 个答案:

答案 0 :(得分:24)

当您从远程存储库中检索所有依赖项时,本地存储只会变成缓存。

与所有缓存一样,Maven本地仓库有时会变得“脏”。在一个公认的偏执和矫枉过正的行为中,我安排了一个定期的cron作业来清除我的构建机器上的本地存储库。这会强制与我的Nexus Maven存储库重新同步。

答案 1 :(得分:13)

如果您可以通过远程repos访问所有需要的工件,则可以安全地删除本地Maven存储库。下一次构建所需的所有工件,包括甚至基本的Maven插件(如编译器)都将基本上从远程存储库获取。就是这样。

答案 2 :(得分:2)

您可以做的是添加一个cron条目,定期删除本地存储库中的文件一段时间,比如90天。

find ~/.m2/ -type f -atime +90 -delete && \
    find ~/.m2/ -type d -empty -delete

这样可以将缓存大小缩小到最近只使用过的工件。

答案 3 :(得分:1)

因此,除了采用“强力”方式之外,还有另一种选择:

蛮力:

rm -rf〜/ .m2 /存储库

这是执行此操作的“ mvn”方法。

”所有内容:

mvn dependency:purge-local-repository

一些我认为有帮助的论点

mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false

这是我通常在 local 计算机上执行的操作:

mvn dependency:purge-local-repository -DmanualInclude="my.group.id" -DsnapshotsOnly=true  -DactTransitively=false -DreResolve=false

请在此处调查命令行选项:

https://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html