5

据我了解,在 Maven 中,插件目标可以附加到生命周期阶段。如果未定义,默认阶段是什么?

4

3 回答 3

7

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

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

最后但同样重要的是:您选择的包装(jar、war、ear、pom 等)默认将目标绑定到生命周期阶段。Maven 书描述了生命周期和绑定目标。该maven-core工件包括配置文件:/src/main/resources/META-INF/plexus/artifact-handlers.xml.

于 2012-04-18T02:49:44.997 回答
3

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

于 2012-04-18T02:09:17.333 回答
2

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

于 2012-04-18T07:22:57.080 回答