В каких обстоятельствах он безопасен, соответственно, небезопасно для rm -rf ~/.m2/repository
при условии, что я работаю онлайн, и у меня есть доступ ко всем необходимым артефактам через удаленные репозитории.
Когда безопасно удалять локальный репозиторий Maven?
Ответ 1
Когда вы извлекаете все зависимости из удаленных репозиториев, локальное репо становится не чем иным, как кешем.
Как и все кеши, локальное репо Maven иногда может стать "грязным". В подтвержденном акте паранойи и перехитрия я планирую периодическое задание cron для очистки локальных репозиториев на моих машинах сборки. Это заставляет повторно синхронизировать с моим хранилищем Nexus Maven.
Ответ 2
Если у вас есть доступ ко всем необходимым артефактам через удаленные репозитории, всегда можно удалить локальный репозиторий Maven. Все артефакты, необходимые для следующей сборки, включая даже базовые плагины Maven (например, компилятор), будут в основном извлечены из удаленных репозиториев. Что это.
Ответ 3
Что вы можете сделать, это добавить запись cron для регулярного удаления файлов в локальном репозитории за определенный период, например, 90 дней.
find ~/.m2/ -type f -atime +90 -delete && \
find ~/.m2/ -type d -empty -delete
Это уменьшает размер кеша только до артефактов, которые вы использовали в последнее время.
Ответ 4
Таким образом, вместо того, чтобы использовать способ "грубой силы", есть другой вариант:
грубая сила:
rm -rf ~/.m2/хранилище
Вот "mvn" способ сделать это.
"все:
mvn dependency:purge-local-repository
некоторые аргументы, которые я считаю полезными
mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false
Вот что я обычно делаю для своей локальной машины:
mvn dependency:purge-local-repository -DmanualInclude="my.group.id" -DsnapshotsOnly=true -DactTransitively=false -DreResolve=false
Пожалуйста, вы можете изучить параметры командной строки здесь:
https://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html