2013-04-17 64 views
3

如何在多個項目中重用一個ant代碼片段?比方說,我有我的根pom.xml如下:在多模塊maven build中重用ant-snippet

<plugin> 
    <artifactId>maven-antrun-plugin</artifactId> 
    <version>1.7</version> 
    <executions> 
     <execution> 
      <id>gen-index</id> 
      <phase>package</phase> 
      <configuration> 
       <target> 
        ... some non-trivial ant stuff here ... 
       </target> 
      </configuration> 
      <goals> 
       <goal>run</goal> 
      </goals> 
     <execution> 
    </executions> 
</plugin> 

我怎麼能有選定子項目執行該螞蟻片段?我已經嘗試將<plugin>...</plugin>部分添加到<pluginManagement>...,但我無法弄清楚如何指定應運行螞蟻代碼段的子項目。

+0

因此,你需要在其中是一個子模塊,並宣佈上述POM父項目相同的插件運行? –

+0

是的,類似的東西。 – JesperE

+0

可能的重複[如何通過maven執行簡單的螞蟻調用?](http://stackoverflow.com/questions/8480606/how-do-i-execute-simple-ant-call-through-maven) –

回答

1

我假設你的目標實現你的插件定義是父母的pom.xml

您的Ant目標是「創指數」標識的執行內部的pluginManagement段內。它應該是工作,如果你宣佈一些像這樣的事情在你的孩子的項目(但這次不是pluginManagement段內... !!!):

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <executions> 
       <execution> 
        <id>gen-index</id> 
       <execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

這個執行由與父POM繼承目標相同的標識符。

我希望這可以工作四個你。我使用過這樣的幾次像這樣..

有了這個星座,你可以在你的父pom.xml中有多個同一個插件。

我創建了一個GitHub的資源庫和工作示例:https://github.com/StefanHeimberg/stackoverflow-16056194