Принудительная повторная загрузка зависимостей релиза с использованием 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