我正在使用带有maven-antrun-plugin的FTP Ant 任务
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>ftp</id>
<phase>generate-resources</phase>
<configuration>
<tasks>
<ftp action="get"
server="${ftp.server.ip}"
userid="${ftp.server.userid}"
password="${ftp.server.password}"
remotedir="${ftp.server.remotedir}"
depends="yes" verbose="yes"
skipFailedTransfers="true"
ignoreNoncriticalErrors="true">
<fileset dir="target/test-classes/testdata">
<include name="**/*.html" />
</fileset>
</ftp>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
...
问题是当文件夹 ${ftp.server.remotedir} 不存在时我的构建失败。
我试图指定
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
但是这些并不能解决问题,并且构建不断失败。
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
你知道如何指示我的 maven 构建不关心这个 Ant 任务错误/或者如何指示 Ant 在缺少目录的情况下不要失败吗?
编辑:
彼得的解决方案有效。
如果你有问题
[INFO] Error configuring: org.apache.maven.plugins:maven-antrun-plugin. Reason: java.lang.NoSuchMethodError: org.apache.tools.ant.util.FileUtils.close(Ljava/io/InputStream;)V
只需从 ant-contrib 中排除 ant
<dependency>
<groupId>ant-contrib</groupId>
<artifactId>ant-contrib</artifactId>
<version>${ant-contrib.ver}</version>
<exclusions>
<exclusion>
<groupId>ant</groupId>
<artifactId>ant</artifactId>
</exclusion>
</exclusions>
</dependency>