2013-04-24 57 views
1

我一直在試圖找到一種很好的方法來在Maven項目的pom.xml中指定一些ant任務(在build.xml中定義)。例如,在我的build.xml中,我有以下代碼行;在pom.xml中執行特定的Ant任務

<target name="clean"> 
    <delete dir="dist"/> 
    <delete dir="build"/> 
</target> 

如何在我的pom.xml中執行此操作?

回答

1

使用maven-antrun-plugin。

您可以放入目標ANT命令。 這裏的階段的maven-antrun-插件的例子安裝執行你的命令:

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-antrun-plugin</artifactId> 
      <version>1.7</version> 
      <executions> 
       <execution> 
        <id>file-exists</id> 
        <phase>install</phase> 
        <goals> 
         <goal>run</goal> 
        </goals> 
        <configuration> 
         <target> 
          <delete dir="dist"/> 
          <delete dir="build"/> 
         </target> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
+0

感謝您的答覆,這可能會正常工作。然而,這段代碼觸發了Ant進行清理操作。我真正想要實現的是讓Maven處理這項工作。那可能嗎? – 2013-04-24 10:50:13

+0

答案已更新 – Michael 2013-04-24 10:58:49

2

下面是做這樣的事情的Maven的方式:

<build> 
    [...] 
    <plugin> 
    <artifactId>maven-clean-plugin</artifactId> 
    <version>2.5</version> 
    <configuration> 
     <filesets> 
     <fileset> 
      <directory>${project.basedir}/dist</directory> 
      <includes> 
      <include>**/*</include> 
      </includes> 
     </fileset> 
     <fileset> 
      <directory>${project.basedir}/build</directory> 
      <includes> 
      <include>**/*</include> 
      </includes> 
     </fileset> 
     </filesets> 
    </configuration> 
    </plugin> 
    [...] 
</build>