Execute Ant task with Maven

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


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.


试试这个..这将在验证阶段。

       <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.1</version>
                <executions>
                    <execution>
                        <phase>validate</phase>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <configuration>
                            <tasks>

                                <echo message="Hello world" />
                                <echo message="${env.M2_HOME}" ></echo>

                            </tasks>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
链接地址: http://www.djcxy.com/p/7710.html

上一篇: ANT不会通过python脚本返回退出代码

下一篇: 用Maven执行Ant任务