2012-04-06 126 views

回答

23

当您从远程存储库检索所有依赖关系时,本地回购就变成了缓存。

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

+0

好的解释和感谢关于强制重新同步的额外提示。 – twigmac 2012-04-07 10:07:06

+0

为什么不简单地使用mvn -U(update)来强制检查更新? – imagineerThat 2015-03-20 17:09:35

+0

@imagineerThat当然,但缓存重置确保构建完全清洁。当依赖关系也在本地缓存在Maven资源库中时,花费不大。 – 2015-03-20 20:01:24

13

如果您可以通过远程回购访问所有需要的工件,那么移除本地Maven存储库总是安全的。下一次构建所需的所有工件,包括基本的Maven插件(如编译器)都将基本上从远程仓库获取。而已。

+1

谢谢你的回答。是我需要知道的! – twigmac 2012-04-07 10:09:54

2

你可以做的是添加一个cron条目来定期删除本地存储库中的文件,例如90天。

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

这使您的缓存大小降低到只有您最近使用的工件。

相关问题