2014-10-03 13 views
0

我最近開始使用maven。所以這個問題聽起來很基本。 當我使用cargo插件瀏覽一些代碼時,出現了這個問題。我如何知道maven中插件的不同目標是什麼?

在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. 該插件在綁定到pre-integration-testpost-integration-test相生命週期,這也意味着當我運行mvn install這將被執行。

  2. 的目標,這個插件(啓動和停止),這些階段分別

  3. Q1 ::是否<id>start-container</id>有任何關聯期間被執行?它的目的是什麼&重要性?

  4. Q2 ::我怎麼知道插件可用的不同目標是什麼。在這種情況下,對於cargo plug-in,我在我的工作中的一個代碼中看到,使用了<goal>redeploy</goal>。所以我想知道如何找到有關這些特定目標和其他可用目標的信息。我確實看過在線文檔。我沒有找到任何。可能我沒有在正確的地方搜索。

回答

1

A1:id不會改變執行的工作方式,它只是給它一個名字的一種方式。

A2:最好的方法是閱讀documentation。在這方面Maven3也比Maven2好得多。如果您調用一個目標無效的插件,它將打印出所有有效的目標,但不會顯示可以傳遞給插件的不同參數(並且一些插件使用命令行和pom的不同參數名稱參數)

貨物文件有點奇怪,大多數其他插件的文檔設置方式不同,這使得查找目標和可以設置的參數變得更加容易。

順便說一下,你的要點1和2都是正確的。

+0

你的意思是說文檔,maven3比maven2好?我使用'glassFish JavaEE 7教程'中的代碼,它顯然使用'cargo-maven2-plugin' – 2014-10-03 22:26:29

+0

我的意思是說,maven現在顯示了目標。在maven2中,如果你指定了錯誤的目標,maven只會報告類似於「出錯,但不知道是什麼」的錯誤。一般來說,Maven3在報告錯誤方面要好得多。 – Augusto 2014-10-03 22:30:29

相關問題