Жизненный цикл сборки maven для appengine: обновление

Когда я бегу mvn appengine:update в моем проекте Maven Java другие задачи из жизненного цикла сборки Maven выполняются в дополнение к развертыванию приложения Google App Engine. Например, бег mvn appengine:update будет раскручиваться copy-resources а также compile цели автоматически.

Я не говорю, что это обязательно плохо, но мне действительно интересно понять, как и почему выполняются другие цели Maven. Какие настройки для appengine:update что заставляет эти другие цели работать? Как я могу переопределить это?

Справка: плагин Google Maven для GAE

1 ответ

Решение

Обратите внимание на сообщение, когда вы работаете appengine:update

>>> appengine-maven-plugin:1.8.1: обновление (default-cli) @ mvn >>>

Когда вы видите, что выполнение цели начинается с >>> (вместо ---), форк фактически запущен. Форкинг в Maven контролируется @execute аннотация в моджо. Подробности смотрите здесь: http://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-plugins-lifecycle.html

Причина, по которой другие цели были начаты, заключается в том, что в обновлении моджо упоминается, что ему нужно все до package Этап: https://code.google.com/p/appengine-maven-plugin/source/browse/src/main/java/com/google/appengine/appcfg/Update.java.

Я не уверен, возможно ли это переопределить, но на практике я думаю, что вы не должны переопределять это. @execute аннотация используется для определения обязательных целей. Это по замыслу разработчика. Что-то может пойти не так, если вы пропустите это.

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