Жизненный цикл сборки 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
аннотация используется для определения обязательных целей. Это по замыслу разработчика. Что-то может пойти не так, если вы пропустите это.