0

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

在我从这里提取的 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>
  1. 这个插件绑定到构建生命周期pre-integration-testpost-integration-test阶段,这也意味着当我运行mvn install它时,它将被执行。

  2. 该插件的目标(启动和停止)分别在这些阶段执行

  3. Q1::<id>start-container</id>有什么相关性吗?它的目的和重要性是什么?

  4. Q2::我怎么知道插件有哪些不同的目标。在这种情况下,cargo plug-in我在我的工作中看到的一个代码中<goal>redeploy</goal>使用了。所以我想知道如何找到有关这些特定目标和其他可用目标的信息。我确实看过在线文档。我没有找到。可能是我没有在正确的地方搜索。

4

1 回答 1

1

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

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

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

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

于 2014-10-03T22:17:45.287 回答