1.目标表示一个特定的、对构建和管理工程有帮助的任务。它可能绑定了 0 个或多个构建阶段。没有绑定任何构建阶段的目标可以在构建生命周期之外被直接调用执行;
参考:
http://wiki.jikexueyuan.com/project/maven/build-life-cycle.html
2.Maven中定义的工程周期和阶段只是抽象的概念,不涉及具体的功能。 具体的功能由插件(Plugin)实现。一个插件可以实现多个目标(Goal)。
3.为了解耦插件的功能和工程阶段,实现高度的可配置性,maven规定插件只是实现目标的功能, 通过配置来决定在哪个阶段执行(Execution)哪些目标操作。 甚至可以把一个Goal绑定到多个Phase,以实现复用。
maven内置了一些默认的插件,并根据不同的工程packing类型在各个phase中默认绑定了一些goal。 下表中列出default生命周期中各阶段默认绑定的goal,其中goal按照管理使用pluginname:goalname的方式标记:
参考:
http://www.cnblogs.com/holbrook/archive/2012/12/24/2830519.html
4.有一些比较特殊的,比如default生命周期的package阶段,他默认是有maven-jar-plugin:jar 绑定。
参考:
http://yuezaixz.logdown.com/posts/165674-not-proud-of-maven-life-cycle-as-well-as-those-in-the-plugin-details