Ich verwende die FTP Ant task mit maven-antrun-pluginWie verhindere ich Maven-Build-Fehler beim Ant-Task-Fehler?
<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>
...
das Problem ist, dass mein Build fehlschlägt, wenn der Ordner $ {ftp.server.remotedir} existiert nicht.
Ich versuchte
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
angeben, aber diese das Problem nicht beheben und die Build hält scheitern.
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
Wissen Sie, wie mein Maven Build anweisen, diesen Ant-Task-Fehler kümmern/oder wie Ant anweisen, im Fall eines fehlenden Verzeichnis nicht scheitern?
Bearbeiten:
Peters Lösung funktioniert.
Wenn Sie ein Problem wie
[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
Nur Ameise ausschließen Ameisen contrib
<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>
Ich weiß nicht, wie man diese Fehler überspringen, aber warum verwenden Sie eine antcall während der Generate-Resources-Phase von Maven. Kann stattdessen ein Teil der Bereitstellungsphase sein .. Vielleicht können Sie das ein wenig mehr erklären – khmarbaise
Ich muss nur die Ressourcen des Projekts aktualisieren, bevor ich meine Tests durchführe. Eigentlich sollte die Ant-Task während der 'generate-tests-resources' Phase laufen. Die Ressourcen (nicht für die Bereitstellung erforderlich) werden von Testklassen verwendet. Ich möchte nicht, dass die ant-Task fehlschlägt, wenn der ftp-Ordner nicht existiert. – mickthompson