Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Execute Ant task with Maven

Tags:

maven-2

task

ant

I'm trying to execute with Maven some test written using Ant tasks. I generated the files required to import the task into Maven, but I can't execute them.

My POM is defined this way:

<build>
  <plugins>
      <plugin>
        <artifactId>maven-ant-plugin</artifactId>
        <version>2.1</version>
        <executions>
          <execution>
            <phase>generate-sources</phase>
            <configuration>
              <tasks>
                <echo message="Hello, maven"/>
              </tasks>
            </configuration>
            <goals>
              <goal>run</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

I try to execute that message, but I get an error with run:

[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] 'run' was specified in an execution, but not found in the plugin

But, if I run: "mvn antrun:run", I know that this can not run the task.

An if I've different targets, how do I call them from Maven? I've the pom.xml, and build.xml with the ant tasks.

Thanks.

Gonzalo

like image 488
Gonzalo Avatar asked Apr 12 '10 16:04

Gonzalo


1 Answers

To run Ant tasks from within Maven 2, you need to use the Maven AntRun Plugin:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-antrun-plugin</artifactId>
      <version>1.3</version>
      <executions>
        <execution>
          <phase>generate-sources</phase>
          <configuration>
            <tasks>
              <echo message="Hello, maven"/>
            </tasks>
          </configuration>
          <goals>
            <goal>run</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

The Maven Ant Plugin is something else, it is used to generate build files for Ant from the POM.

like image 134
Pascal Thivent Avatar answered Sep 19 '22 00:09

Pascal Thivent