2017-02-13 7 views

ответ

0

В мире Maven любой проект или компонент должен иметь свою собственную версию . Значение версии может быть 1.0.0, 1.3-alpha-4, 2.0, 2.1-SNAPSHOT или 2.1-20091214.221414-13. Среди них 1.0, 1.3-alpha-4 и 2.0 являются стабильными версиями релиза, в то время как 2.1-SNAPSHOT и 2.1-20091214.221414-13 являются нестабильными версиями моментальных снимков.

Почему Maven проводит различие между версиями выпуска и моментальных снимков? Простых 1.0.0, 1.2, 2.1 и т. Д. Недостаточно? Почему даже 2.1-SNAPSHOT, или даже долго 2.1-20091214.221414-13? Представьте себе эту ситуацию, Чжан в разработке модуля A версии 2.1, версия еще не официально выпущена вместе с разработкой модуля A модуля B, который разрабатывается членами семейства Xiao Zhang Ji, функция B зависит от A The In процесс развития, Чжан часто необходимо построить свой собственный последний выход, в квартал ММ, для ее разработки и интеграции отладки, вопрос в том, как это работает? Если вы продолжаете обновлять версии 2.1.1, 2.1.2, 2.1.3 .... Прежде всего, Xiao Zhang и четверть MM оба должны часто менять POM, если есть больше модулей, зависящих от модуля A, включать больше изменений POM; Во-вторых, большое количество версий фактически содержит только небольшую разницу, это приведет к злоупотреблению номером версии. Механизм моментальной копии Maven для решения вышеуказанной проблемы. В этом примере Xiao Zhang нужно только установить версию модуля A в 2.1-SNAPSHOT, а затем выпустить на PW, в процессе публикации Maven будет автоматически для временной метки компонента. Например: 2.1-20091214.221414-13 от 14 декабря 2009 г. 22:14 14 секунд 13-го моментального снимка. С этой меткой времени Maven сможет найти последний файл в версии 2.1-SNAPSHOT в любое время. В это время конфигурация MM MM для модуля A 2.1-SNAPSHOT версия зависимости, когда она компонентный модуль B, Maven будет автоматически проверять с помощью модуля хранилища A 2.1-SNAPSHOT последний компонент, когда его обнаруживают обновленным при загрузке По умолчанию Maven проверяет обновление каждый день (контролируется с помощью updatePolicy хранилища), и пользователь также может использовать командную строку -U, чтобы заставить Maven проверять наличие обновлений, таких как: mvn clean install-U. На основе механизма версии моментального снимка Чжан может развернуть компонент на складе после успешной сборки, и четверть ММ не может принять во внимание здание модуля A, и она может гарантировать, что вы сможете получить последние доступные виджеты моментального снимка для модуля A в любое время. Требуется дополнительная ручная работа.

1

«Принудительное обновление снимков/релизов», как работает следующую команду

mvn -U install 

-U также можно использовать как --update-снимок. См. here.

Плагин m2cllipse от Eclipse внутренне вызывает то же самое с использованием API maven-core.

См. setUpdateSnapshots метод.

Смежные вопросы