mvn чистая установка против развертывания против выпуска
Я только учусь Maven, и в последнее время нам нужно идти больше и больше. Я хотел бы знать разницу между
mvn clean install
mvn release
mvn deploy
Пожалуйста, будьте как можно более наглядны.
2 ответа
clean
, install
а также deploy
фазы являются действительными фазами жизненного цикла, и их запуск вызовет все предшествующие им фазы и цели, связанные с этими фазами.
mvn clean install
Эта команда вызывает clean
фаза, а затем install
фаза последовательно:
clean
: удаляет файлы, сгенерированные во время сборки, в каталоге проекта (target
по умолчанию)install
: устанавливает пакет в локальный репозиторий для локального использования в качестве зависимости в других проектах.
Mvn развертывания
Эта команда вызывает deploy
фаза:
deploy
: копирует окончательный пакет в удаленный репозиторий для совместного использования с другими разработчиками и проектами.
мвн релиз
Это не действительный этап и не цель, поэтому это ничего не изменит. Но если относится к плагину релиза Maven, который используется для автоматизации управления релизами. Выпуск проекта осуществляется в два этапа: prepare
а также perform
, Как задокументировано:
Подготовка релиза проходит следующие фазы релиза:
- Убедитесь, что в источниках нет незафиксированных изменений
- Убедитесь, что нет SNAPSHOT-зависимостей
- Измените версию в POM с x-SNAPSHOT на новую версию (вам будет предложено использовать версии)
- Преобразуйте информацию SCM в POM, чтобы включить конечный пункт назначения тега
- Запустите тесты проекта для измененных POM, чтобы убедиться, что все в рабочем состоянии.
- Зафиксируйте измененные POM
- Пометьте код в SCM именем версии (это будет запрошено)
- Увеличьте версию в POM до нового значения y-SNAPSHOT (эти значения также будут запрошены)
- Зафиксируйте измененные POM
А потом:
Выполнение релиза запускает следующие фазы релиза:
- Извлечь из URL-адреса SCM с необязательным тегом
- Запустите предварительно определенные цели Maven, чтобы выпустить проект (по умолчанию разверните site-deploy)
Смотрите также
mvn install
поместит ваш упакованный проект maven в локальный репозиторий для локального приложения, использующего ваш проект в качестве зависимости.mvn release
в основном поместит ваш текущий код в тег на вашем SCM, измените вашу версию в ваших проектах.mvn deploy
поместит ваш упакованный проект maven в удаленный репозиторий для совместного использования с другими разработчиками.
Ресурсы: