My Maven installation (Windows 7 64-bit) has a .cache
directory that is almost 3.5GB! It contains only a m2e
directory. (I'm running Eclipse 4.3M7 with m2e.) Surely all the things inside aren't needed at present, and moreover I don't even know what this stuff is! I could find no Maven documentation of a .cache
directory online.
So what are the .m2/repository/.cache
and .m2/repository/.cache/m2e
directories? Why do they have so much stuff from years ago? How do I dispose of all the stuff that's not needed anymore?
To clear/delete your local maven repository cache, simply delete the . m2/repository folder. The local repository path can also be configured in Maven setting. xml (either the global or the user one).
We can do a setting in the eclipse ide to disable . cache folder to increase. Disable this option and you will get rid of . cache problem!
The first place that Maven looks for artifacts is in the local repository, which is the local cache where Maven stores all of the artifacts it has downloaded or found elsewhere. The default location of the local repository is the . m2/repository/ directory under the user's home directory.
In contrast to the other answers, make sure to keep .m2/*.xml
(your settings) and .m2/repository
(not strictly necessary to keep, but Maven will have to download half the Internet again).
Now, as for that .cache
folder: if you open Eclipse, M2Eclipse will sometimes run a job akin to "Downloading repository indexes". These indexes allow you to quickly find an artifact using M2E's "Add dependency" wizard if you only know (part of) its artifact id. It needs to put the downloaded index files somewhere, and according to http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02486.html the .cache
folder is where they go:
Also note that m2e keeps at least three copies of each repository index. The original .gz files downloaded from remote repositories. A shared lucene instance used to optimize time spent processing gz files. And per-workspace lucene indexes. The first two are stored under local repository .cache/m2e directory, the last one is per-workspace.
The Lucene stuff they're talking about are extra optimized search databases, this makes it faster for M2E to search a given artifact if you only enter a partial artifact id or group id.
If I read http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01708.html correctly then it should be safe to remove them:
m2e caches lucene index in two places. Per-workspace indexes are stored under .metadata/.plugins/org.eclipse.m2e.core/nexus and there is also global cache in ~/.m2/repository/.cache/m2e/${m2e.version}.
Try cleaning the caches and see if the problem goes away.
Keep in mind though that M2E will notice the missing folder the next time you open Eclipse, so be prepared to wait while it downloads all repository indexes again!
We can do a setting in the eclipse ide to disable .cache folder to increase.
Window->Preferences->Maven->Download repository index updates on startup
Disable this option and you will get rid of .cache problem!
The m2e directory is the Eclipse Maven plugin's cache, not Maven's.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With