Как Maven решает ссылаться на последнюю информацию об артефактах - PullRequest
0 голосов
/ 16 августа 2011

Мы используем mvn deploy:deplo y для развертывания артефакта в менеджере хранилища, и разработчик мог бы сделать просто mvn install для того же артефакта, поэтому артефакт присутствует в M2_HOME\.m2\repository

Будет ли среда выполнения mavenполучить артефакт из менеджера хранилища, если он был недавно обновлен, чем локальная копия хранилища?

Примечание. Мы используем менеджер хранилища maven, основанный на Apache Archiva.

1 Ответ

2 голосов
/ 16 августа 2011

Ответ зависит от того, говорите ли вы о снимке или выпускной сборке.

Выпускные сборки имеют версию, которая не заканчивается на "-SNAPSHOT", и они являются окончательными и неизменяемыми.После установки в любой репозиторий Maven никогда не обновит их.На ваш вопрос это означает, что если dev устанавливает локальную сборку релиза, он никогда не будет обновляться из какого-либо удаленного репозитория.

Сборки моментальных снимков всегда могут быть обновлены из любого репозитория.По умолчанию Maven проверяет новые версии снимков один раз в день, поэтому, если кто-то устанавливает снимок локально, этот снимок будет существовать до тех пор, пока Maven не выполнит следующую проверку обновлений снимка.Затем, если в каком-либо удаленном репозитории будет установлена ​​более новая версия, локальная будет перезаписана.Вы можете заставить maven обновлять артефакты моментального снимка с параметром командной строки -U.

...