Ответ 1
Как объяснено в Основы жизненного цикла сборки:
Жизненный цикл сборки составлен из фаз
Каждый из этих жизненных циклов сборки определяется другим списком фаз сборки, где фаза сборки представляет собой этап в жизненном цикле.
Например, жизненный цикл по умолчанию имеет следующие этапы сборки (полный список фаз сборки см. в Справочник по жизненному циклу):
validate
- проверить правильность проекта и получить всю необходимую информациюcompile
- скомпилировать исходный код проектаtest
- проверить скомпилированный исходный код с помощью подходящей модульной системы тестирования. Эти тесты не должны требовать, чтобы код был упакован или развернут.package
- взять скомпилированный код и упаковать его в свой распространяемый формат, например JAR.integration-test
- обрабатывать и развертывать пакет, если необходимо, в среду, в которой могут выполняться тесты интеграции.verify
- выполнить все проверки, чтобы убедиться, что пакет действителен и соответствует критериям качества.install
- установите пакет в локальный репозиторий, для использования в качестве зависимости в других проектах локально.deploy
- выполняется в среде интеграции или выпуска, копирует окончательный пакет в удаленный репозиторий для совместного использования с другими разработчиками и проектами.Эти фазы сборки (плюс другие фазы сборки, не показанные здесь) выполняются последовательно для завершения жизненного цикла по умолчанию. Учитывая вышеописанные этапы сборки, это означает, что, когда используется жизненный цикл по умолчанию, Maven сначала проверит проект, затем попытается скомпилировать источники, запустить их против тестов, упаковать двоичные файлы (например, jar), выполнить интеграционные тесты против этого пакет, проверьте пакет, установите проверенный пакет в локальный репозиторий, затем разверните установленный пакет в указанной среде.
Чтобы сделать все это, вам нужно только вызвать последнюю фазу сборки, которая будет выполнена, в этом случае развернуть:
mvn deploy
Это потому, что если вы вызываете фазу сборки, она будет выполнять не только эту фазу сборки, но и каждую фазу сборки до фазы вызванной сборки.
Итак, ответ да, mvn deploy
выполнит install
и построит артефакты проекта. Но если вы ничего не измените, это даст точно такой же артефакт.