2013-05-17 4 views
114

В чем разница между mvn clean package и mvn clean install? Когда я запускаю обе эти команды, они оба, похоже, делают то же самое.Сколько результатов со значением "mvn clean package" и "mvn clean install"?

+7

Пожалуйста, смотрите на [Введение в жизненном цикле сборки - Жизненный цикл Reference] (http://maven.apache.org/guides/introduction/introduction-to-the -lifecycle.html # Lifecycle_Reference) и ищет 'package' и' install'. –

+0

Один пакет (создает его в цель) и устанавливает (пакеты и помещает его в репозиторий). Вам нужно сделать это позже, если вы хотите использовать эту версию в другом модуле. –

+2

Возможно, это следует вновь открыть? На это можно ответить, и мне не трудно было ответить. Кроме того, если кто-то совершенно незнакомо с maven, легко увидеть, как две фазы, похоже, делают одно и то же. Я отредактирую его, пытаясь сделать его менее расплывчатым. –

ответ

172

Хорошо, оба очистят. Это означает, что они удалят целевую папку. Реальный вопрос в чем разница между пакетом и установкой?

package будет скомпилировать ваш код, а также упаковать его. Например, если ваш pom говорит, что проект представляет собой банку, он создаст банку для вас, когда вы ее упакуете и поместите туда в целевой каталог (по умолчанию).

install будет компилировать и упаковать, но он также поместит пакет в ваш локальный репозиторий. Это сделает так, чтобы другие проекты могли ссылаться на него и захватывать его из вашего локального репозитория.

Documentation

+0

Почему mvn устанавливается быстрее, чем mvn-пакет? –

+0

@SharadHolani, потому что сборки являются инкрементальными. 'mvn clean install' не быстрее, чем' mvn package'. – OrangeDog

+0

Для моего проекта сборка пакета mvn: сингл, который строит жировую банку, занимает больше времени, чем установка mvn. Сделайте упаковку и установите обе сборные эквивалентные жировые банки? –

7

Пакет & установить различные фазы в Maven сборки жизненного цикла. фаза пакета будет выполнять все этапы до этого &, он остановится с упаковкой проекта в виде банки. Аналогичным образом, этап установки будет выполнять все предыдущие этапы. & окончательно установить проект локально для других зависимых проектов.

Для понимания Maven сборки жизненного цикла, пожалуйста, перейдите по следующей ссылке https://ayolajayamaha.blogspot.in/2014/05/difference-between-mvn-clean-install.html

+0

Что вы подразумеваете под «& окончательно устанавливаете проект локально для других зависимых проектов» –

2

пакет будет генерировать Jar/войну за ПОМ файла. install установит сгенерированный файл jar в локальный репозиторий для других зависимостей, если таковой имеется.

установки фаза наступает после пакета фазы

+2

Я думаю, что вы имели в виду фазу «установить», приходит фаза'after_ '' – Attila

+0

, первая упаковка будет выполнена, тогда будут установлены эти пакеты (jar/war). –

+0

«Фаза установки фаз _follows_ фаза пакета». То, как это в настоящее время сформулировано, обратное. «Followed» означает «after». –

Смежные вопросы