当POM中未指定执行细节时,Maven插件绑定

时间:2015-10-07 13:38:10

标签: maven

如果没有为POM文件中的插件指定执行细节,那么插件绑定到的maven生命周期的默认阶段是什么?

我认为在这种情况下,只能通过命令行显式调用插件。

2 个答案:

答案 0 :(得分:0)

插件的执行取决于您正在调用的阶段(生命周期)以及您正在生成的工件类型,例如当你的项目产生一个pom(<packaging>pom</packaging>)而不是jar(指定jar或没有<packaging>元素)时,根本不会调用compile插件。

有关已执行目标(插件)的列表,请参阅 the complete Maven reference

如果要查看为项目配置的插件,请检查可通过调用创建的有效pom

mvn help:effective-pom

有效的pom是超级pom和你项目的pom的合并。

see this tutorial for an example of an effective pom

答案 1 :(得分:0)

有不同的东西。首先是life cycle which defines executions of particular plugins

除了插件可以定义一个默认的生命周期阶段,它将被执行,由插件作者定义。

例如xml-maven-plugin binds to the generate-resources阶段。摘自文档:

  

需要执行Maven项目。   默认情况下绑定到生命周期阶段:generate-resources。

此处插件默认绑定到generate-resources生命周期阶段。或者您可以查看maven-ear-plugin和许多其他插件。

当然,如果相应的插件支持,您可以通过命令行调用插件。否则,您可以通过执行块将插件绑定到特定的生命周期阶段。