Когда безопасно удалить локальный репозиторий Maven?

При каких обстоятельствах безопасно или небезопасноrm -rf ~/.m2/repository при условии, что я работаю онлайн и имею доступ ко всем необходимым артефактам через удаленные репозитории.

Ответы на вопрос(4)

Если у вас есть доступ ко всем необходимым артефактам через удаленные репозитории, всегда безопасно удалить локальный репозиторий Maven. Все артефакты, необходимые для следующей сборки, включая даже базовые плагины Maven (например, компилятор), будут в основном получены из удаленных репозиториев. Вот и все.

 twigmac07 апр. 2012 г., 12:09
Спасибо, что ответили. Было то, что мне нужно было знать!

Что вы можете сделать, это добавить запись cron для регулярного удаления файлов в локальном хранилище в течение определенного периода, скажем, 90 дней.

find ~/.m2/ -type f -atime +90 -delete && \
    find ~/.m2/ -type d -empty -delete

Это позволяет уменьшить размер кэша только до тех артефактов, которые вы недавно использовали.

Таким образом, вместо того, чтобы делать «грубую силу» Кстати, есть другой вариант:

грубая сила:

rm -rf ~ / .m2 / хранилище

Вот это "mvn" способ сделать это.

& Quot; все:

mvn dependency:purge-local-repository

некоторые аргументы, которые я считаю полезными

mvn dependency:purge-local-repository -DactTransitively=false -DreResolve=false

Вот что я обычно делаю для своегоlocal машина:

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

Решение Вопроса

Когда вы извлекаете все зависимости из удаленных репозиториев, локальное хранилище становится не более чем кешем.

Как и все кэши, локальный репозиторий Maven может иногда становиться «грязным». В общепризнанном акте паранойи и излишеств я планирую периодическую работу cron для очистки локальных репозиториев на моих сборочных машинах. Это вызывает повторную синхронизацию с моим хранилищем Nexus Maven.

 04 июл. 2016 г., 17:07
В Linux мне действительно не нужно очищать локальное репо, за исключением сборок Jenkins (сборка чистая). На Windows строится время задержки, когда хранится много локальных снимков. Так что обычные чистки окон хороши. Локальный кеш всегда должен быть расходным. Однако я сталкивался со случаями, когда один из 300 модулей был настроен так, чтобы никогда не развертываться.
 20 мар. 2015 г., 18:09
Почему бы просто не использовать mvn -U (update) для принудительной проверки обновлений?
 twigmac07 апр. 2012 г., 12:07
Хорошее объяснение и спасибо за дополнительную подсказку о принудительной повторной синхронизации.
 20 мар. 2015 г., 21:01
@imagineerThat Конечно, но сброс кеша гарантирует полную чистоту сборки. Не требует больших затрат, когда зависимости также кэшируются локально в репозитории Maven.

Ваш ответ на вопрос