Перенос Jar & Wars в одну папку на удаленном сервере с помощью Maven

Я нахожусь в процессе преобразования существующего проекта в Maven и процесс их сборки и выпуска. Моя структура выглядит так: ParentProj -Child1 -Child2 -ChildWeb3 -ChildWeb4

Я не уверен в том, что говорится в рекомендациях maven, но мне нужно 1. Помечать все мои дочерние проекты отдельно 2. Когда я выполняю передачу на сервер развертывания (выпуск mvn: подготовка выпуска: выполнение -B), он создает своего рода репозиторий I хочу создать папку на удаленном сервере и поместить в нее все файлы и войны только без других файлов 3. Также есть ли способ выполнить скрипт оболочки на моем удаленном сервере

В ожидании вашего руководства

1 ответ

То, что вам необходимо сделать, противоречит соглашениям Maven и рекомендуемым лучшим практикам. Должен помнить, что Maven строит и выпускает, а не развертывает. Да, есть цель развертывания, но эта цель берет артефакты, созданные в результате сборки или выпуска, и отправляет их в удаленный репозиторий Maven, в котором хранятся все версии артефактов. Именно из-за этой структуры репозитория ваши файлы JAR и WAR оказываются в разных папках, когда вы запускаете mvn release: execute, что является еще одним способом попросить maven выполнить развертывание mvn.

Теперь, если вы хотите придерживаться способа работы Maven, вы должны написать еще один скрипт (shell, Ant, ваш выбор) для развертывания, который бы получал эти файлы JAR и WAR из удаленного репозитория артефактов Maven и связывал их так, как вы это делаете. хотите и разверните его на сервере (ах), на котором вы хотите, чтобы они были установлены.

Теперь вы можете изменить maven так, чтобы он выполнял то, что вы хотите, но вы должны будете создать другой проект / модуль, который будет выполнять связывание файлов JAR и WAR так, как вы хотите, в качестве архивного файла (tar, gzip, zip). Плагин сборки Maven - это инструмент для выполнения этой работы. Вы можете узнать больше о сборочном плагине здесь. Теперь имейте в виду, что mvn release: execute все равно отправит архив в репозиторий Maven. Вам все равно понадобится сценарий развертывания, чтобы получить архивный файл из удаленного репозитория Maven и извлечь его на сервер, на котором вы хотите его развернуть.

Другие вопросы по тегам