使用Maven执行Ant任务

时间:2010-04-12 16:30:15

标签: maven-2 ant task

我正在尝试用Maven执行一些使用Ant任务编写的测试。我生成了将任务导入Maven所需的文件,但我无法执行它们。

我的POM是这样定义的:

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

我尝试执行该消息,但运行时遇到错误:

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

但是,如果我跑:“mvn antrun:run”,我知道这不能执行任务。

如果我有不同的目标,我如何从Maven打电话给他们?我有pom.xml,以及带有ant任务的build.xml。

感谢。

的Gonzalo

2 个答案:

答案 0 :(得分:12)

要从Maven 2中运行Ant任务,您需要使用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>

Maven Ant Plugin是其他东西,它用于从POM生成Ant的构建文件。

答案 1 :(得分:2)

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

       <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>
相关问题