Принудительная повторная загрузка зависимостей релиза с использованием Maven

Я работаю над проектом с зависимостью X. X, в свою очередь, зависит от Y.

Я использовал явное включение Y в мой проект pom. Однако он не использовался и не делал вещи чище, вместо этого я добавил его в X pom как зависимость. X отмечен как зависимость от выпуска.

Проблема заключается в том, что после удаления Y из моего проекта pom и добавления его в X pom мой проект не собирает его на mvn -U clean package. Я знаю -U обновляет снимки, но не выпускает.

Итак, не удаляя каталог ~/.m2/repository, как я могу заставить повторную загрузку X pom? Кроме того, я попытался запустить dependency:purge-local-repository, и он тоже не работал.

Ответ 1

Вы не можете устанавливать зависимостей переназначения Maven, но вместо этого вы можете очистить зависимости, которые были неправильно загружены с помощью mvn dependency:purge-local-repository

Смотрите: http://maven.apache.org/plugins/maven-dependency-plugin/purge-local-repository-mojo.html

Ответ 2

Я просто удалил свой файл ~/.m2/repository и заставил перезагрузить;)

Ответ 3

Я думаю, что следующая команда может вам помочь!


mvn -U clean install

Ответ 4

Щелкните правой кнопкой мыши- > Maven → Обновить проект и установите флажки, как на снимке экрана. Он также обновит релизы:)

enter image description here

Ответ 5

Вы отметили вопросы как "maven-2". Опция -U была добавлена ​​в Maven 3 для решения этой проблемы.

Я предлагаю обновить.

Ответ 6

Когда вы добавили его в X, у вас должен быть увеличенный номер версии X i.e X-1.2
Затем X-1.2 должен был быть установлен/развернут, и вы должны были изменить зависимость своих проектов от X, чтобы они зависели от новой версии X-1.2

Ответ 7

Спасибо Али Токмену. Мне удалось принудительно удалить определенную локальную зависимость со следующей командой:

mvn dependency:purge-local-repository -DmanualInclude=com.skyfish:utils

При этом он удаляет utils из моего .m2/repository и всегда перезагружает зависимость utils JAR при запуске mvn clean install.

Ответ 8

mvn clean install -U

-U означает принудительное обновление зависимостей.

Если вы хотите обновить одну зависимость без очистки или -U, вы можете просто удалить ее из своего локального репо и затем создать.

Ответ 9

Если вы действительно хотите принудительно загрузить все зависимости, вы можете попытаться повторно инициализировать весь репозиторий maven. Как уже описано в этой статье, вы можете использовать:

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install

Ответ 10

Перейти к пути сборки... удалить существующую библиотеку maven u добавлено... нажмите добавить библиотеку... нажмите maven управляемые зависимости... затем нажмите maven параметры проекта... установите флажок Разрешить maven зависимостей... " ll загрузить все зависимости maven