appengine的Maven构建生命周期:update



当我在Maven Java项目上运行mvn appengine:update时,除了部署Google App Engine应用程序外,Maven构建生命周期中的其他目标也会执行。例如,运行mvn appengine:update将自动剥离copy-resourcescompile目标。

我并不是说这一定是一件坏事,但是我真的很想了解其他Maven目标是如何以及为什么被执行的。appengine:update的设置是什么使这些其他目标运行?我怎样才能重写它?

参考: Google的Maven plugin for GAE

请注意运行appengine:update时的消息

>>> appengine-maven-plugin: 1.8.1:更新(default-cli) @ mvn>>>

当你看到一个目标运行是用>>>开始的(而不是——),一个分叉实际上已经开始了。maven中的分叉由mojo中的@execute注释控制。详见:http://books.sonatype.com/mvnref-book/reference/writing-plugins-sect-plugins-lifecycle.html

其他目标已经启动的原因是因为Update魔符提到它需要package阶段之前的所有内容:https://code.google.com/p/appengine-maven-plugin/source/browse/src/main/java/com/google/appengine/appcfg/Update.java.

我不确定是否有可能重写它,但在实践中,我认为你不应该重写它。@execute注释用于定义先决条件目标。这是由开发者设计的。

最新更新