2013-05-22 51 views
1

我將對我的自定義maven插件執行多次寫入我的項目的pom.xml。我的配置是這樣的:指定所有插件執行的默認目標

... 
<build> 
    <plugins> 
    <plugin> 
     <groupId>myGroupId</groupId> 
     <artifactId>pluginId</artifactId> 
     <executions> 
     <execution> 
      <id>ex-1</id> 
      <goals> 
      <goal>goal-name</goal> 
      </goals> 
      <configuration> 
      <option>value_1</option> 
      </configuration> 
     </execution> 
     <execution> 
      <id>ex-2</id> 
      <goals> 
      <goal>goal-name</goal> 
      </goals> 
      <configuration> 
      <option>value_2</option> 
      </configuration> 
     </execution> 
     <!-- quite plenty more executions here --> 
     </executions> 
     <configuration> 
     <commonOption>common_value</commonOption> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
... 

...所有的maven規範,就像在例子中,它的工作正常。

但是有很多冗餘 - 每個執行(其中大約20個)都有自己的目標部分,並且它們都具有完全相同的一個目標。想到自己 - 我會在插件部分指定一個默認值。看着maven POM XML架構和 - 萬歲,這是一個選項。我去了以下:

... 
<build> 
    <plugins> 
    <plugin> 
     <groupId>myGroupId</groupId> 
     <artifactId>pluginId</artifactId> 
     <executions> 
     <execution> 
      <id>ex-1</id> 
      <configuration> 
      <option>value_1</option> 
      </configuration> 
     </execution> 
     <execution> 
      <id>ex-2</id> 
      <configuration> 
      <option>value_2</option> 
      </configuration> 
     </execution> 
     <!-- same plenty more executions changed likewise --> 
     </executions> 
     <goals> 
     <goal>goal-name</goal> 
     </goals> 
     <configuration> 
     <commonOption>common_value</commonOption> 
     </configuration> 
    </plugin> 
    </plugins> 
</build> 
... 

...和巴姆!它不起作用。 Pom正在被解析,項目被構建,但插件沒有執行 - 甚至沒有執行過。爲什麼?我錯了,還是什麼?缺乏maven功能?錯誤?

+0

你的插件綁定到哪個生命週期階段? – khmarbaise

+0

它必然會初始化階段。我通過調用'mvn initialize'或'mvn install'來測試它。沒有用。 –

+0

您是否嘗試過'mvn -X install'並深入瞭解日誌文件? – khmarbaise

回答

3

根據Maven Model documentationplugin中的goals元素已被棄用且未被Maven使用。

+0

噢,你是對的。它不僅被棄用,而且被破壞。這就是爲什麼。感謝您指出了這一點。 –

相關問題