49

我的 Maven 安装(Windows 7 64 位)有一个.cache将近 3.5GB 的目录!它只包含一个m2e目录。(我用 m2e 运行 Eclipse 4.3M7。)现在肯定不需要里面的所有东西,而且我什至不知道这些东西是什么!.cache我在网上找不到目录的 Maven 文档。

那么.m2/repository/.cache.m2/repository/.cache/m2e目录是什么?为什么他们有那么多年前的东西?我如何处理所有不再需要的东西?

4

4 回答 4

45

与其他答案相比,请确保保留.m2/*.xml(您的设置)和.m2/repository(并非绝对必须保留,但 Maven 将不得不再次下载一半的 Internet)。

现在,至于那个.cache文件夹:如果您打开 Eclipse,M2Eclipse 有时会运行类似于“下载存储库索引”的作业。如果您只知道(部分)其工件 ID,则这些索引允许您使用 M2E 的“添加依赖项”向导快速找到工件。它需要将下载的索引文件放在某个地方,并且根据http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02486.html.cache文件夹是它们所在的位置:

另请注意,m2e 至少保留每个存储库索引的三个副本。从远程存储库下载的原始 .gz 文件。一个共享的 lucene 实例,用于优化处理 gz 文件所花费的时间。以及每个工作区的 lucene 索引。前两个存储在本地存储库 .cache/m2e 目录下,最后一个是 per-workspace。

他们所说的 Lucene 东西是经过额外优化的搜索数据库,如果您只输入部分工件 ID 或组 ID,这使得 M2E 可以更快地搜索给定的工件。

如果我正确阅读了http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01708.html那么删除它们应该是安全的:

m2e 在两个地方缓存 lucene 索引。每个工作空间的索引存储在 .metadata/.plugins/org.eclipse.m2e.core/nexus 下,并且在 ~/.m2/repository/.cache/m2e/${m2e.version} 中也有全局缓存。

尝试清理缓存,看看问题是否消失。

请记住,尽管 M2E 会在您下次打开 Eclipse 时注意到丢失的文件夹,所以请准备好等待它再次下载所有存储库索引!

于 2013-05-08T15:50:06.630 回答
5

我们可以在eclipse ide中做一个设置来禁用.cache文件夹的增加。

Window->Preferences->Maven->启动时下载存储库索引更新

禁用此选项,您将摆脱 .cache 问题!

于 2015-08-07T04:10:58.047 回答
3

m2e 目录是 Eclipse Maven 插件的缓存,而不是 Maven 的。

于 2013-05-08T15:16:24.657 回答
1

.m2/repository目录是您的 Maven 存储库缓存。每当 Maven 为您下载某些内容时,它都会将其缓存在这里。通常只删除目录是安全的。Maven 将为您重新创建它。但是,如果您的依赖项仅存在于您的 repo 缓存中,则必须重新安装它们。

于 2013-05-08T14:03:24.290 回答