#deployment #ant #maven #playframework #war
#развертывание #ant #maven #playframework #Война
Вопрос:
Я понимаю, из документации (http://www.playframework.org/documentation/1.2.1/deployment ), что если Играть! Фреймворк уже установлен и настроен должным образом, тогда создать развертываемый war так же просто, как выполнить команду:
play war myapp -o myapp.war
Но что, если Play! Framework не установлен на целевой машине, и требования требуют создания стандартного war из сценария сборки Ant или Maven? Как можно создать сценарий сборки или pom-файл, который мог бы использовать Play! Framework API для создания желаемого артефакта war без постоянной установки фреймворка на целевой компьютер. Можно ли это сделать легко?
Комментарии:
1. ничто не мешает вам установить play во временном каталоге.
2. Спасибо всем за ваши отзывы. Я не уверен, что пока готов принять ответ, но этот плагин, похоже, находится на правильном пути для того, чего я пытаюсь достичь: http://code.google.com/p/maven-play-plugin /
Ответ №1:
Не прямолинейно. Если вы посмотрите на скрипты python для play war
команды, вы увидите, что выполняется довольно много обработки.
Вы могли бы скопировать это в сценарий ANT или Maven, но тогда вы потеряете любую обратную совместимость с будущими обновлениями. Я бы предложил либо убедиться, что включены соответствующие файлы Play framework, чтобы можно было выполнить сборку, либо выполнить сборку WAR на центральном сервере сборки и распространить (или загрузить из CVS / SVN / GIT) файл WAR на целевые компьютеры.
Ответ №2:
Обычно это делается следующим образом:
- Создайте приложение Play и создайте WAR на компьютере, на котором установлена Play.
- Разверните WAR, созданный из Play, в репозиторий Maven (предпочтительно сервер репозитория Maven, общий для группы, или локальный каталог репозитория Maven, который синхронизируется с помощью системы управления версиями, или просто проверьте WAR в системе управления версиями, и товарищи по команде установят его в свое локальное репозиторий Maven через mvn install).
- Добавьте WAR в качестве зависимости в свой проект Maven, чтобы он был включен в сборку.
Я не верю, что это имеет смысл, поскольку пытаться создать Play application WAR без установки Play. WAR должен быть сгенерирован на машине, на которой установлена Play, а затем распространен на другие машины как упакованный WAR (предпочтительно через общий сервер репозитория Maven, такой как Archiva или Nexus).
Ответ №3:
Насколько мне известно, Play framework упакован вместе с вашим приложением в файл war. Поэтому попытка сборки без установленной или доступной play кажется довольно сложной.