我如何知道maven中插件的不同目标是什么?

我如何知道maven中插件的不同目标是什么?,maven,maven-plugin,maven-cargo,Maven,Maven Plugin,Maven Cargo,我最近开始使用maven。所以这个问题听起来很基本。 当我使用插件浏览一些代码时,出现了这个问题 在我从pom.xml中提取的maven插件的以下片段中, 我的理解如下: <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <executions>

我最近开始使用maven。所以这个问题听起来很基本。 当我使用插件浏览一些代码时,出现了这个问题

在我从pom.xml中提取的maven插件的以下片段中, 我的理解如下:

<plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <executions>
        <execution>
          <id>start-container</id>
          <phase>pre-integration-test</phase>
          <goals>
            <goal>start</goal>
          </goals>
        </execution>
        <execution>
          <id>stop-container</id>
          <phase>post-integration-test</phase>
          <goals>
            <goal>stop</goal>
          </goals>
        </execution>
      </executions>
      <configuration>
        [Cargo plugin configuration goes in here]
      </configuration>
    </plugin>

org.codehaus.cargo
cargo-maven2-plugin
启动容器
预集成测试
开始
停止容器
整合后测试
停止
[货物插件配置在这里]
  • 此插件绑定到构建生命周期的
    集成前测试
    集成后测试
    阶段,这也意味着当我运行
    mvn安装
    时,将执行此插件

  • 该插件的目标(开始和停止)分别在这些阶段执行

  • Q1::启动容器
    是否有任何相关性?它的目的和重要性是什么

  • Q2::我如何知道插件的不同目标是什么。在本例中,对于
    cargo插件
    ,我在工作中的一个代码中看到,使用了
    redeploy
    。所以我想知道如何找到关于这些特定目标和其他可用目标的信息。我确实看过在线文档。我没有找到。可能是我没有找对地方


  • A1:
    id
    不会改变执行的工作方式,它只是给它起个名字的一种方式

    A2:最好的方法是阅读文章。Maven3在这方面也比maven2好得多。如果调用目标无效的插件,它将打印出所有有效的目标,但不会打印可以传递给插件的不同参数(有些插件对命令行和pom参数使用不同的参数名)

    cargo的文档有点奇怪,大多数其他插件都以不同的方式设置文档,这使得查找目标和可以设置的参数变得更容易


    顺便说一下,您的第1点和第2点都是正确的。

    您是说在文档方面,maven3比maven2好吗?我使用的代码来自
    glassFish JavaEE 7教程
    ,它显然使用了
    cargo-maven2-plugin
    ,我的意思是maven现在显示了目标。在maven2中,如果指定了错误的目标,maven只报告了一个类似于“出错了,但不知道是什么”的错误。一般来说,Maven3在报告错误方面做得更好。