Проще говоря, Maven разрешает артефакты (те, которые вы поместили в раздел зависимостей) из локального репозитория (обычно $ HOME / .m2 / repository). Если он не может найти артефакт в локальном хранилище, он будет выглядеть в удаленном хранилище. Стандартный удаленный репозиторий - это «центральный» репозиторий на http://repo1.maven.org/maven2.
Если вы выполните «mvn install», вы скажете Maven скопировать ваши артефакты (ваш WAR в целевой папке) в локальный репозиторий. Теперь ваши другие проекты Maven могут разрешить артефакт.
Если вы хотите, чтобы другие могли разрешить артефакт, вам нужно поместить его в удаленный репозиторий. Это делается с помощью «mvn deploy» (как и в центральном репозитории, вы можете создать свой собственный удаленный репозиторий).
Для развертывания веб-приложения вам необходимо либо вручную развернуть файл WAR из целевой папки, либо использовать плагин Maven, например Cargo, для развертывания на сервере приложений.
Какой смысл развертывать файлы WAR в удаленном репозитории Maven, если они обычно не используются в качестве зависимости в других проектах?
Я бы предложил, чтобы перед развертыванием чего-либо на сервере приложений вы выполнили правильную версию своего кода. Существует плагин релиза, который поможет вам в этом. Помимо помещения его в удаленный репозиторий Maven, он помечает текущий источник в вашем SCM (например, subversion). Теперь у вас есть версионный двоичный файл в вашем репозитории Maven, который совпадает с помеченной версией в вашем SCM.
Поскольку репозиторий Maven имеет четко определенную структуру, легко писать сценарии, которые переносят новую версию на рабочий сервер.