Maven默认阶段的目标?

时间:2012-04-18 01:53:44

标签: java maven

据我所知,在maven中,插件目标可以附加到生命周期阶段。 如果没有定义,默认阶段是什么?

3 个答案:

答案 0 :(得分:5)

根据我的经验,它取决于插件目标。例如,maven-assembly-plugin中的assembly:single目标未列出默认阶段。 source:jar-no-fork目标默认绑定到package阶段。通常,每个目标都会在文档的属性部分列出默认阶段。

另一种说法是查看源代码(例如:source:jar-no-fork mojo)。在类标题注释块中查找@phase

最后但并非最不重要:您选择的包装(jar,war,ear,pom等)默认情况下会将目标绑定到生命周期阶段。 Maven书籍描述了lifecycles and bound goalsmaven-core工件包含配置文件:/src/main/resources/META-INF/plexus/artifact-handlers.xml

答案 1 :(得分:3)

如果我正确阅读http://maven.apache.org/guides/mini/guide-configuring-plugins.html,则没有默认值。如果您没有定义默认阶段或配置非默认阶段,那么目标将不会被执行。

答案 2 :(得分:2)

目标的默认阶段取决于您使用的插件。例如,appassembler-maven-plugin绑定到包阶段。但是还有其他插件没有绑定到任何阶段。在这些情况下,您必须自己定义阶段。