it-swarm.com.de

Reinigung des Maven m2e .cache Verzeichnisses

Meine Maven-Installation (Windows 7 64-Bit) hat ein Verzeichnis .cache Mit fast 3,5 GB! Es enthält nur ein Verzeichnis m2e. (Ich verwende Eclipse 4.3M7 mit m2e.) Sicherlich werden im Moment nicht alle darin enthaltenen Dinge benötigt, und außerdem weiß ich nicht einmal, was dieses Zeug ist! Ich konnte keine Maven-Dokumentation eines .cache - Verzeichnisses online finden.

Also, was sind die Verzeichnisse .m2/repository/.cache Und .m2/repository/.cache/m2e? Warum haben sie so viel Zeug von vor Jahren? Wie entsorge ich alles, was ich nicht mehr brauche?

46
Garret Wilson

Stellen Sie im Gegensatz zu den anderen Antworten sicher, dass .m2/*.xml (Ihre Einstellungen) und .m2/repository (muss nicht unbedingt aufbewahrt werden, aber Maven muss die Hälfte des Internets erneut herunterladen).

Nun, wie für das .cache Ordner: Wenn Sie Eclipse öffnen, führt M2Eclipse manchmal einen Job ähnlich dem "Herunterladen von Repository-Indizes" aus. Mithilfe dieser Indizes können Sie mithilfe des M2E-Assistenten zum Hinzufügen von Abhängigkeiten schnell ein Artefakt finden, wenn Sie nur einen Teil seiner Artefakt-ID kennen. Es muss die heruntergeladenen Indexdateien irgendwo ablegen und laut http://dev.Eclipse.org/mhonarc/lists/m2e-users/msg02486.html the .cache Ordner ist, wohin sie gehen:

Beachten Sie auch, dass m2e mindestens drei Kopien jedes Repository-Indexes aufbewahrt. Die ursprünglichen .gz-Dateien, die von Remote-Repositorys heruntergeladen wurden. Eine gemeinsam genutzte Lucene-Instanz, mit der die für die Verarbeitung von gz-Dateien aufgewendete Zeit optimiert wird. Und pro Arbeitsbereich Lucene-Indizes. Die ersten beiden werden im lokalen Repository-Verzeichnis .cache/m2e gespeichert, die letzte pro Arbeitsbereich.

Bei den Lucene-Inhalten handelt es sich um extra optimierte Suchdatenbanken. Dadurch kann M2E schneller nach einem bestimmten Artefakt suchen, wenn Sie nur eine Teilartefakt-ID oder Gruppen-ID eingeben.

Wenn ich http://dev.Eclipse.org/mhonarc/lists/m2e-users/msg01708.html richtig lese, sollte es sicher sein, sie zu entfernen:

m2e speichert den Lucene-Index an zwei Stellen. Indizes pro Arbeitsbereich werden unter .metadata/.plugins/org.Eclipse.m2e.core/nexus gespeichert, und in ~/.m2/repository/.cache/m2e/$ {m2e.version} befindet sich auch ein globaler Cache.

Versuchen Sie, die Caches zu reinigen, und prüfen Sie, ob das Problem behoben ist.

Beachten Sie jedoch, dass M2E den fehlenden Ordner beim nächsten Öffnen von Eclipse bemerken wird. Warten Sie also, während alle Repository-Indizes erneut heruntergeladen werden!

43
JBert

Wir können eine Einstellung in der Eclipse-ID vornehmen, um den .cache-Ordner zu deaktivieren und zu vergrößern.

Fenster-> Einstellungen-> Maven -> Aktualisierungen des Repository-Index beim Start herunterladen

Deaktivieren Sie diese Option und Sie werden das .cache-Problem los!

4
dragonfly

Das m2e-Verzeichnis ist der Cache des Eclipse Maven-Plugins, nicht der von Maven.

2
Georgemc

Das .m2-Verzeichnis ist Ihr Maven-Repository-Cache. Immer wenn Maven etwas für Sie herunterlädt, wird es hier zwischengespeichert. Normalerweise ist es sicher, nur das Verzeichnis zu löschen. Maven wird es für Sie neu erstellen. Wenn Sie jedoch Abhängigkeiten haben, die nur in Ihrem Repo-Cache vorhanden sind, müssen Sie diese erneut installieren.

0
ilikeorangutans