Как мне настроить Play! Рамочный проект, который будет создан как war с использованием только Ant или Maven?

#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:

Обычно это делается следующим образом:

  1. Создайте приложение Play и создайте WAR на компьютере, на котором установлена Play.
  2. Разверните WAR, созданный из Play, в репозиторий Maven (предпочтительно сервер репозитория Maven, общий для группы, или локальный каталог репозитория Maven, который синхронизируется с помощью системы управления версиями, или просто проверьте WAR в системе управления версиями, и товарищи по команде установят его в свое локальное репозиторий Maven через mvn install).
  3. Добавьте WAR в качестве зависимости в свой проект Maven, чтобы он был включен в сборку.

Я не верю, что это имеет смысл, поскольку пытаться создать Play application WAR без установки Play. WAR должен быть сгенерирован на машине, на которой установлена Play, а затем распространен на другие машины как упакованный WAR (предпочтительно через общий сервер репозитория Maven, такой как Archiva или Nexus).

Ответ №3:

Насколько мне известно, Play framework упакован вместе с вашим приложением в файл war. Поэтому попытка сборки без установленной или доступной play кажется довольно сложной.