gpt4 book ai didi

maven-3 - 如何找出 Maven 目标绑定(bind)的默认阶段?

转载 作者:行者123 更新时间:2023-12-04 01:57:23 24 4
gpt4 key购买 nike

在 Maven 中,如何找出目标的默认阶段(如果此特定目标存在任何默认阶段)?

例子

我正在使用一个名为 Jetty Maven Plugin 的 Maven 插件。 .它包含一个目标 jetty:run .运行命令mvn jetty:run (注意这个命令只包含一个目标,而不是一个阶段)首先构建一个 pom.xml - 指定 web 应用程序,直至默认 test-compile phase ,然后将其部署在 Jetty 服务器中。

正如 Mojo API Specification 中指出的那样,目标可以在其源代码中分配一个默认阶段(通过 @phase 或通过 @execute phase )。 In case of jetty:run , the default phase is @execute phase="test-compile" .

但是查找源代码文件可能会变得相当复杂。有没有更简单的方法来找出默认阶段?

最佳答案

最简单的解决方案是使用 maven-help-plugin如下所示:

mvn help:describe -DartifactId=maven-compiler-plugin -DgroupId=org.apache.maven.plugins -Dgoal=compile -Ddetail

这将打印出许多信息,但在第一行:
[INFO] Mojo: 'compiler:compile'
compiler:compile
Description: Compiles application sources
Implementation: org.apache.maven.plugin.CompilerMojo
Language: java
Bound to phase: compile

Available parameters:
....

如果您尝试使用 jetty:run 像这样:
mvn help:describe -DartifactId=jetty-maven-plugin -DgroupId=org.mortbay.jetty -Dgoal=run -Ddetail

您将获得大量输出,但您不会看到默认阶段,因为它打算从命令行调用:
[INFO] Mojo: 'jetty:run'
jetty:run
Description: This goal is used in-situ on a Maven project without first
....
redeploying.
.....

Implementation: org.mortbay.jetty.plugin.JettyRunMojo
Language: java
Before this mojo executes, it will call:
Phase: 'test-compile'

Available parameters:
....

关于maven-3 - 如何找出 Maven 目标绑定(bind)的默认阶段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12309652/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com