Перенос Jar & Wars в одну папку на удаленном сервере с помощью Maven - PullRequest
1 голос
/ 26 ноября 2010

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

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

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

1 Ответ

1 голос
/ 29 ноября 2010

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...