Обновление Maven не работает после установки артефакта, только после развертывания - PullRequest
1 голос
/ 06 августа 2011

Я действительно не понимаю, у меня есть многомодульный проект (снимки), и я использую менеджер репозитория Nexus. Если я внесу изменения в projectB и $mvn install it, то projectA все еще использует старую зависимость при сборке.

Неважно, если я $mvn -o compile или $mvn -U compile, он все еще имеет старую зависимость от classpath.

Если я разверну projectB $mvn deploy, projectA все равно получит старую зависимость от classpath если я не пойду $mvn -U compile, то при создании будет добавлена ​​свежая зависимость снимка projectB на путь к классу projectA. Это работает как ожидалось.

НО

$mvn install просто не позволяет мне использовать установленную версию артефакта извне, несмотря ни на что. Мне всегда нужно deploy и запустить $mvn -U compile, чтобы другие получили свежую зависимость.

Может кто-нибудь объяснить мне, почему это происходит? Ясно, что maven install и update должны работать, но для этого требуется deploy. Что за черт?

1 Ответ

0 голосов
/ 06 августа 2011

mvn install устанавливает встроенные банки в локальный репозиторий в ~ / m2 / repository /. Когда дело доходит до снимков, mvn install заменяет старый снимок новым.

Кажется, есть проблема с вашим локальным репо. Итак, я предлагаю удалить текущие снимки из локального репо и попробуйте еще раз. В худшем случае удалите весь репозиторий ~ / .m2 и попробуйте снова.

Прямо сейчас вы делаете это трудным путем, загружая свои артефакты в пульт и репозиторий (через mvn deploy), и загружая снова с mvn -U compile.

Судя по комментариям - похоже, это ошибка в maven-install-plugin. Самая новая версия - maven-install-plugin-2.3.1. Установите плагин явно в вашей поме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...