Sto utilizzando la FTP Ant task con maven-antrun-pluginCome si impedisce a Maven build fail in caso di errore dell'attività 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>
...
il problema è che la mia generazione non quando la cartella $ {} ftp.server.remotedir non esiste.
Ho cercato di specificare
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
ma questi non risolvono il problema e la costruzione mantiene fallendo.
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
Sai come istruire il mio accumulo di Maven non si preoccupano di questo errore task Ant/o come istruire Ant per non fallire nel caso di una directory mancante?
Modifica:
La soluzione di Peter funziona.
Se un problema come
[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
Basta escludere formica da ant-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>
Non so come ignorare questo errore, ma perché stai utilizzando un antcall durante la fase di generare risorse di Maven. Potrebbe essere parte della fase di schieramento. Potrebbe essere che tu possa spiegare un po 'di più – khmarbaise
Ho solo bisogno di aggiornare le risorse del progetto prima di eseguire i miei test. In realtà l'attività Ant deve essere eseguita durante la fase 'generate-test-risorse'. Le risorse (non necessarie per la distribuzione) vengono utilizzate dalle classi di test. Non voglio che l'attività di formica fallisca se la cartella ftp non esiste. – mickthompson