Я только изучаю maven, и в последнее время нам нужно было все больше и больше. Я хотел бы узнать разницу между
mvn clean install
mvn release
mvn deploy
Пожалуйста, будьте как можно более наглядны.
источник
Я только изучаю maven, и в последнее время нам нужно было все больше и больше. Я хотел бы узнать разницу между
mvn clean install
mvn release
mvn deploy
Пожалуйста, будьте как можно более наглядны.
В clean
, install
и deploy
фазы являются действительными фазами жизненного цикла и их вызова будет вызывать все этапы , предшествующие им, и цели , связанные с этими фазами.
mvn clean install
Эта команда последовательно вызывает clean
фазу, а затем install
фазу:
clean
: удаляет файлы, созданные во время сборки, в каталоге проекта ( target
по умолчанию)install
: устанавливает пакет в локальный репозиторий для использования в качестве зависимости в других проектах локально .Mvn развертывания
Эта команда вызывает deploy
фазу:
deploy
: копирует окончательный пакет в удаленный репозиторий для совместного использования с другими разработчиками и проектами .выпуск mvn
Это недопустимая фаза или цель, поэтому ничего не даст. Но если относится к плагину Maven Release, который используется для автоматизации управления выпусками. Выпуск проекта осуществляется в два этапа: 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 в удаленный репозиторий для совместного использования с другими разработчиками.Ресурсы :
источник