如何在不阅读源代码的情况下找到maven插件的默认目标?

时间:2015-05-06 17:41:00

标签: java maven maven-plugin

鉴于maven插件,是否有任何命令可以用来查看其mojos的默认阶段/目标绑定?我意识到,如果我查看源代码或生成的javadocs,我可以找到注释。然而,这似乎太间接了。

我已经尝试了:help目标,但这并没有给我任何额外的信息。

maven-javadoc-plugin为例。这个插件有14个不同的可访问目标。然而,我不需要为要生成的javadoc明确指定阶段或目标。

我是否可以使用任何工具来查看哪些目标默认分配给哪个阶段(对于任何插件 - 而不仅仅是javadoc插件)?

1 个答案:

答案 0 :(得分:2)

如果您查看documentation of the plugins,您会发现类似的内容:

  

属性:

Requires a Maven project to be executed.
Requires dependency resolution of artifacts in scope: compile.
The goal is thread-safe and supports parallel builds.
Since version: 2.0.
Invokes the execution of the lifecycle phase generate-sources prior to executing itself.

最后一行将为您提供此信息。

或者像这样maven-war-plugin docs:

  

属性:

Requires a Maven project to be executed.
Requires dependency resolution of artifacts in scope: runtime.
The goal is thread-safe and supports parallel builds.
Binds by default to the lifecycle phase: package.

最后一行显示哪个是默认的生命周期阶段。

除了上述内容,您可以使用生命周期的绑定文档,如下所示:

https://maven.apache.org/ref/3.0.5/maven-core/default-bindings.html https://maven.apache.org/ref/3.1.1/maven-core/default-bindings.html https://maven.apache.org/ref/3.2.5/maven-core/default-bindings.html https://maven.apache.org/ref/3.3.3/maven-core/default-bindings.html

您还可以通过以下方式在命令行上获取这些信息:

mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-jar-plugin  -Ddetail

你会得到这样的输出(还有更多):

jar:jar
  Description: Build a JAR from the current project.
  Implementation: org.apache.maven.plugin.jar.JarMojo
  Language: java
  Bound to phase: package

  Available parameters:
  ...

在我看来,你在找什么。