Ответ 1
Пока есть команда maven, которую вы можете выполнить для этого, проще просто удалить файлы вручную из репозитория.
Подобно этому на окнах Documents and Settings\your username\.m2
или $home/.m2
на Linux
mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar
Я использую команду выше для установки локальной банки в maven local repo. Теперь у меня есть зависимость от maven repo. Я хочу удалить это из локального репо. Как его очистить?
Пока есть команда maven, которую вы можете выполнить для этого, проще просто удалить файлы вручную из репозитория.
Подобно этому на окнах Documents and Settings\your username\.m2
или $home/.m2
на Linux
Хотя удаление файлов вручную работает, существует официальный способ удаления зависимостей вашего проекта из локального (кеш) репозитория и, возможно, его повторного разрешения из удаленных репозиториев.
Цель purge-local-repository
, в стандартном плагине зависимостей Maven, удалит локально установленные зависимости этого проекта из вашего кеша. При желании вы можете повторно разрешать их из удаленных репозиториев одновременно.
Это должно использоваться как часть фазы проекта, поскольку оно относится к зависимостям для содержащего проекта. Также транзитивные зависимости также будут очищаться (локально) по умолчанию.
Если вы хотите явно удалить один артефакт из кеша, используйте purge-local-repository
с параметром manualInclude
. Например, из командной строки:
mvn dependency:purge-local-repository -DmanualInclude="groupId:artifactId, ..."
Документация подразумевает, что по умолчанию это не удаляет транзитивные зависимости. Если вы работаете с нестандартным расположением кэша или на нескольких платформах, они более надежны, чем удаление файлов "вручную".
Полная документация находится в спецификации maven-dependency-plugin.
Примечание. Предыдущие версии плагина maven dependency
имели цель manual-purge-local-repository
, которая теперь (версия 2.8) подразумевается использованием manualInclude
. Необходимо также прочитать документацию для manualIncludes
(с помощью s
).
По крайней мере, на текущей версии maven вам нужно добавить ключ -DreResolve = false, если вы намерены удалить зависимости из своего локального репо, не перезагружая их.
mvn dependency:purge-local-repository -DreResolve=false
удаляет зависимости, не загружая их снова.
Удалите все вещи (jar, pom.xml и т.д.) в локальном каталоге ~/.m2/repository/phonegap/1.1.0/
, если вы используете ОС Linux.
Я столкнулся с той же проблемой, перебрал все предложения выше, но ничего не получалось. Наконец я удалил обе папки .m2 и .ivy, и это сработало для меня.
cd ~/.m2
git init
git commit -am "some comments"
cd /path/to/your/project
mvn install
cd ~/.m2
git reset --hard