Какие именно различия между mvn clean package
и mvn clean install
? Когда я запускаю обе эти команды, кажется, что они делают одно и то же.
Какие именно различия между mvn clean package
и mvn clean install
? Когда я запускаю обе эти команды, кажется, что они делают одно и то же.
Ответы:
Ну, оба будут чистыми. Это означает, что они будут удалять целевую папку. Вопрос в том, в чем разница между пакетом и установкой?
package
скомпилирует ваш код, а также упакует его. Например, если ваш pom говорит, что проект - это jar, он создаст для вас jar, когда вы упакуете его и поместите где-нибудь в целевой каталог (по умолчанию).
install
скомпилирует и упакует, но также поместит пакет в ваш локальный репозиторий. Это позволит другим проектам ссылаться на него и извлекать его из вашего локального репозитория.
mvn clean install
не быстрее чем mvn package
.
Что делает clean (обычно в обеих командах) - удаляет все файлы, сгенерированные предыдущей сборкой
В связи с разницей между пакетом команд и установкой , сначала необходимо понять жизненный цикл проекта maven.
Это фазы жизненного цикла по умолчанию в Maven
Maven работает так: если вы запускаете команду для любой из фаз жизненного цикла, он выполняет каждую фазу жизненного цикла по умолчанию по порядку, прежде чем выполнить саму команду.
порядок исполнения
проверить >> собрать >> проверить (необязательно) >> пакет >> проверить >> установить >> развернуть
Поэтому, когда вы запускаете команду mvn package , она запускает команды для всех этапов жизненного цикла до пакета
валидировать >> компилировать >> тестировать (необязательно) >> пакет
А что касается установки mvn , она запускает команды для всех этапов жизненного цикла до установки, включая пакет
проверить >> собрать >> проверить (необязательно) >> пакет >> проверить >> установить
Таким образом, фактически это означает, что команды install делают все, что делает команда package , и некоторые другие (устанавливают пакет в локальный репозиторий, для локального использования в качестве зависимости в других проектах).
Источник: ссылка на жизненный цикл Maven
Пакет сгенерирует Jar / war в соответствии с файлом POM. install установит сгенерированный файл jar в локальный репозиторий для других зависимостей, если таковые имеются.
фаза установки наступает после фазы пакета
Пакет и установка - это различные этапы жизненного цикла сборки maven. Фаза пакета выполнит все фазы до этого и остановит упаковку проекта в качестве фляги. Аналогично, фаза установки выполнит все предыдущие фазы и, наконец, установит проект локально для других зависимых проектов.
Для понимания жизненного цикла сборки maven перейдите по следующей ссылке https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html.
package
добавит упакованный jar
или war
в вашу target
папку, мы можем проверить это, когда мы очистим целевую папку (используя mvn clean
), а затем запустим mvn package
.
install
будет делать все то, что package
делает, кроме того, он будет добавлять в пакетном jar
или war
локальном хранилище, а также. Мы можем подтвердить это, проверив в вашей .m2
папке.
package
иinstall
.