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

Ресурсы:

Другие вопросы по тегам