我最近开始使用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>
此插件绑定到构建LifeCycle的pre-integration-test
和post-integration-test
阶段,这也意味着当我运行mvn install
时,这将被执行。
此插件的目标(开始和停止)分别在这些阶段执行
Q1 :: <id>start-container</id>
是否有任何相关性?它的目的和目的是什么?重要性?
Q2 :: 我如何知道插件可用的不同目标是什么。对于cargo plug-in
的{{1}},我在我的工作中的一个代码中看到,<goal>redeploy</goal>
被使用。所以我想知道如何找到有关这些具体目标和其他可用目标的信息。我确实看过在线文档。我没找到任何。可能我没有在正确的地方搜索。
答案 0 :(得分:1)
A1:id
并没有改变执行的方式,它只是给它命名的一种方式。
A2:最好的方法是阅读documentation。在这方面,Maven3也比maven2好很多。如果您调用具有无效目标的插件,它将打印出所有有效目标,但它不会打印可以传递给插件的不同参数(并且某些插件使用命令行的不同参数名称)和pom参数)
货物的文档有点奇怪,大多数其他插件的文档设置方式不同,这样可以更容易地找到目标和可设置的参数。
顺便说一下,你的第1点和第2点都是正确的。