我已经在https://github.com/jjYBdx4IL/example-maven-project-setups/blob/master/antrun-foreach/pom.xml建立了一个示例:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>process-test-resources</phase>
<configuration>
<tasks>
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
<foreach target="unzipLibs" param="fileName">
<path>
<fileset dir="${basedir}" casesensitive="yes">
<include name="*.xml"/>
</fileset>
</path>
</foreach>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>1.0b3</version>
<!-- <exclusions>
<exclusion>
<artifactId>ant</artifactId>
<groupId>ant</groupId>
</exclusion>
</exclusions>-->
</dependency>
</dependencies>
<configuration>
<target name="unzipLibs">
<echo message="${fileName}" />
</target>
</configuration>
</plugin>
然而,无论我怎么努力,它都不起作用:
Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (default) on project antrun-foreach: Error executing ant tasks: org.apache.tools.ant.util.FileUtils.getFileUtils()Lorg/apache/tools/ant/util/FileUtils; -> [Help 1]
或者,使用蚂蚁排除法:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.7:run (default) on project antrun-foreach: An Ant BuildException has occured: The following error occurred while executing this line:
[ERROR] /home/travis/build/jjYBdx4IL/example-maven-project-setups/antrun-foreach/pom.xml:5: Unexpected element "{http://maven.apache.org/POM/4.0.0}project" {antlib:org.apache.tools.ant}project
[ERROR] around Ant part ...<foreach param="fileName" target="unzipLibs">... @ 5:48 in /home/travis/build/jjYBdx4IL/example-maven-project-setups/antrun-foreach/target/antrun/build-main.xml
是的。
将ant任务移到外部文件中没有帮助。
更新:问题似乎是maven-anturn-plugin不支持定义多个anturn目标:https://jira.codehaus.org/browse/MANTRUN-86中的一个。
副本:Calling foreach in maven-antrun-plugin。
1条答案
按热度按时间xqk2d5yq1#
通过将目标定义移动到单独的ant xml构建文件中解决。
unzip.xml: