我正在尝试用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
答案 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>