49 votes

Nettoyage du répertoire Maven m2e .cache

Mon installation Maven (Windows 7 64-bit) a un fichier .cache qui fait presque 3.5GB ! Il ne contient qu'un m2e répertoire. (J'utilise Eclipse 4.3M7 avec m2e.) Il est certain que toutes les choses qu'il contient ne sont pas nécessaires pour le moment, et de plus je ne sais même pas ce que c'est ! Je n'ai trouvé aucune documentation Maven sur un .cache en ligne.

Quels sont donc les .m2/repository/.cache y .m2/repository/.cache/m2e annuaires ? Pourquoi y a-t-il tant de choses datant d'il y a des années ? Comment puis-je me débarrasser de toutes les choses dont je n'ai plus besoin ?

1 votes

Pour information : pour ceux qui utilisent NetBeans, un cache similaire se trouve dans C:\Users\ <nom d'utilisateur> \AppData\Local\NetBeans\Cache\8.1\mavenin dex

45voto

JBert Points 1524

Contrairement aux autres réponses, veillez à conserver .m2/*.xml (vos paramètres) et .m2/repository (il n'est pas strictement nécessaire de le conserver, mais Maven devra à nouveau télécharger la moitié de l'Internet).

Pour ce qui est de la .cache Si vous ouvrez Eclipse, M2Eclipse lancera parfois une tâche du type "Downloading repository indexes" (téléchargement des index du référentiel). Ces index vous permettent de trouver rapidement un artefact en utilisant l'assistant "Add dependency" de M2E si vous ne connaissez qu'une partie de l'identifiant de l'artefact. Il faut placer les fichiers d'index téléchargés quelque part, et selon la commande http://dev.eclipse.org/mhonarc/lists/m2e-users/msg02486.html el .cache Le dossier est l'endroit où ils vont :

Notez également que m2e conserve au moins trois copies de chaque référentiel l'index. Les fichiers .gz originaux téléchargés depuis les dépôts distants. A instance lucene partagée utilisée pour optimiser le temps passé à traiter les fichiers gz pour optimiser le temps de traitement des fichiers .gz. Et des index lucene par espace de travail. Les deux premiers sont stockés sous le répertoire .cache/m2e du référentiel local, le dernier est stocké par espace de travail.

Les trucs Lucene dont ils parlent sont des bases de données de recherche optimisées supplémentaires, qui permettent à M2E de rechercher plus rapidement un artefact donné si vous n'entrez qu'une partie de l'identifiant de l'artefact ou de l'identifiant du groupe.

Si je lis http://dev.eclipse.org/mhonarc/lists/m2e-users/msg01708.html correctement, il devrait être possible de les retirer en toute sécurité :

m2e met en cache l'index lucene à deux endroits. Les index par espace de travail sont sont stockés dans .metadata/.plugins/ Il existe également un cache global dans ~/.m2/repository/.cache/m2e/${m2e.version}.

Essayez de nettoyer les caches et voyez si le problème disparaît.

Gardez à l'esprit que M2E remarquera le dossier manquant la prochaine fois que vous ouvrirez Eclipse, alors préparez-vous à attendre qu'il télécharge à nouveau tous les index du référentiel !

2 votes

Maintenant, nous avançons Merci pour les références ! Maintenant la structure des répertoires semble un peu moins mystifiante. Je ne sais toujours pas pourquoi toutes les saloperies des anciennes versions de m2e restent dans le coin, mais je les ai supprimées et tout semble aller pour le mieux jusqu'à présent. Merci à tous.

1 votes

Décochez "Preferences > Maven > Download repository index updates on startup" si vous ne voulez pas que le dossier revienne (vous voulez économiser 3GB et ne vous souciez pas de la fonctionnalité "Add Dependency").

6voto

dragonfly Points 572

On peut faire un réglage dans l'ide eclipse pour désactiver le dossier .cache pour l'augmenter.

Fenêtre->Préférences->Maven-> Télécharger les mises à jour de l'index du référentiel au démarrage

Désactivez cette option et vous vous débarrasserez du problème de cache !

3voto

Georgemc Points 309

Le répertoire m2e est le cache du plugin Eclipse Maven, et non celui de Maven.

1 votes

Oui, la partie "m2e" m'a mis la puce à l'oreille. Mais cela ne répond à rien. Je ne sais toujours pas quel type de données m2e stocke dans son cache. Je ne connais toujours pas de documentation sur le répertoire cache de m2e. Je ne sais toujours pas quelles vieilles choses n'ont pas été automatiquement supprimées de la mémoire cache de m2e répertoire. Et je ne sais toujours pas comment me débarrasser en toute sécurité des éléments de ce répertoire sans nuire à la fonctionnalité du plugin m2e. Merci de m'avoir répondu, mais je pense que je cherchais un peu plus que "Le m2e est pour le plugin m2e".

1voto

ilikeorangutans Points 1142

En .m2/repository est le cache de votre dépôt Maven. Chaque fois que Maven télécharge quelque chose pour vous, il le met en cache dans ce répertoire. En général, il est prudent de supprimer ce répertoire. Maven le recréera pour vous. Cependant, si vous avez des dépendances qui n'existent que dans le cache de votre dépôt, vous devrez les réinstaller.

1 votes

Je ne parle pas de l'ensemble de la .m2 répertoire. Je parle plus particulièrement du répertoire .m2/.cache et plus particulièrement le répertoire .m2/.cache/m2e répertoire. Pouvez-vous me dire ce qui va dans ce répertoire, pourquoi, et quels fichiers je peux supprimer, ainsi que les ramifications ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X