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

时间:2014-10-03 21:41:35

标签: maven maven-plugin maven-cargo

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

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

<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. 此插件绑定到构建LifeCycle的pre-integration-testpost-integration-test阶段,这也意味着当我运行mvn install时,这将被执行。

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

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

  4. Q2 :: 我如何知道插件可用的不同目标是什么。对于cargo plug-in的{​​{1}},我在我的工作中的一个代码中看到,<goal>redeploy</goal>被使用。所以我想知道如何找到有关这些具体目标和其他可用目标的信息。我确实看过在线文档。我没找到任何。可能我没有在正确的地方搜索。

1 个答案:

答案 0 :(得分:1)

A1:id并没有改变执行的方式,它只是给它命名的一种方式。

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

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

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