Question

I've been trying to find a good way to specify some ant tasks(defined in build.xml) in pom.xml of a Maven project. For example, in my build.xml, I have the following line of code;

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

How can I perform this action in my pom.xml?

Was it helpful?

Solution 2

Use maven-antrun-plugin.

You can put in the target ANT commands. Here the example of the maven-antrun-plugin on phase install that execute your commands:

<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>

OTHER TIPS

The following is the maven-way of doing such things:

<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>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top