Maven 如何获取mvn帮助:描述以显示默认生命周期的各个阶段

Maven 如何获取mvn帮助:描述以显示默认生命周期的各个阶段,maven,Maven,运行$mvn help:descripe-Dcmd=clean告诉您“clean”是一个生命周期,并列出了它的各个阶段。类似地,$mvn帮助:descripe-Dcmd=site告诉您“site”是一个生命周期,并列出了它的各个阶段 帮助:描述将列出默认生命周期阶段的目标的cmd参数是否有任何值?要描述的是“单个目标或单个阶段” 虽然clean和site确实是生命周期的名称,但它们也是生命周期中各个阶段的名称 另外,似乎打印出来的帮助:descripe目标的描述有点误导()cmd实际上不是“具有

运行
$mvn help:descripe-Dcmd=clean
告诉您“clean”是一个生命周期,并列出了它的各个阶段。类似地,
$mvn帮助:descripe-Dcmd=site
告诉您“site”是一个生命周期,并列出了它的各个阶段

帮助:描述将列出默认生命周期阶段的目标的
cmd
参数是否有任何值?

要描述的是“单个目标或单个阶段”

虽然
clean
site
确实是生命周期的名称,但它们也是生命周期中各个阶段的名称

另外,似乎打印出来的
帮助:descripe
目标的描述有点误导()
cmd
实际上不是“具有以下阶段的生命周期”,而是生命周期中某个特定阶段的名称,其阶段已列出。例如,您可以通过尝试
mvn帮助:descripe-Dcmd=post site
来证明这一点,Maven会打印出来

'post-site' is a lifecycle with the following phases:
* pre-site: Not defined
* site: org.apache.maven.plugins:maven-site-plugin:3.0:site
* post-site: Not defined
* site-deploy: org.apache.maven.plugins:maven-site-plugin:3.0:deploy
即使“post site”是一个阶段的名称,而不是生命周期的名称

至于打印默认生命周期的各个阶段,只需将
cmd
设置为默认生命周期内任何阶段的名称,例如
package
install
,它就会打印出来


完整地说,所有标准阶段和生命周期的定义都是Maven的,默认生命周期的ID是“default”。

关于
-Dcmd=package
?+1,用于将我指向源代码。看看这个条件,代码看起来并不像预期的那样运行。显然,如果默认生命周期的任何阶段用作
cmd
参数的值,则执行
if
分支,而
站点
清理
生命周期的阶段触发
else
分支。(我不太明白为什么,因为在粗略浏览了
Lifecycle.java
之后,我不知道
Lifecycle.getDefaultPhases()
是如何变为非空的。)