В чем разница между командами mvn: deploy и mvn: install? - PullRequest
9 голосов
/ 23 сентября 2011

Я думаю, что должно быть какое-то различие, но кто-нибудь может рассказать мне детали?

Ответы [ 4 ]

23 голосов
/ 23 сентября 2011

mvn:install копирует ваш упакованный модуль Maven в локальный репозиторий (по умолчанию в ~/.m2/repository) для доступа к другим локальным сборкам Maven.

mvn:deploy загружает ваш упакованный модуль Maven в другой (обычно удаленный) репозиторий для доступа к другим, не обязательно локальным, сборкам Maven.

Для получения дополнительной информации см. Документацию для жизненного цикла сборки .

2 голосов
/ 23 сентября 2011

Фаза install отвечает за установку артефактов в локальные кэширующие репозитории. Это в основном относится к репозиторию Maven, но хорошо известным примером является также OSGi Bundle Repository, поддерживаемый maven-bundle-plugin .

Фаза deploy отвечает за установку артефактов в опубликованных репозиториях. Обычно это относится к удаленным репозиториям, но вполне может быть локальным репозиторием, доступным внешнему миру.

Как и все фазы Maven, вы можете делать с ними все, что захотите. Вы можете перетасовать фазы плагинов по своему усмотрению, но приведенная выше семантика является обычной, и вам следует придерживаться ее, чтобы соответствовать фазам по умолчанию для целей других плагинов.

1 голос
/ 23 сентября 2011

mvn:deploy выполняет развертывание в удаленном репозитории / среде, mvn:install устанавливает все скомпилированные пакеты в локальный репозиторий, делая их доступными для других сборок, выполняемых на локальном компьютере.

0 голосов
/ 23 сентября 2011

В одном предложении: mvn:install компилирует и устанавливает ваш компонент в вашем локальном репозитории Maven, чтобы вы могли использовать его, когда другие компоненты, используемые и разработанные локально, зависят от него. mvn:deploy развертывает ваш (ранее установленный) компонент в удаленном хранилище.

...