J'utilise le FTP Ant task avec maven-antrun-pluginComment empêcher l'échec de la génération de Maven en cas d'échec de la tâche 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>
...
le problème est que ma génération échoue lorsque le dossier $ {} ftp.server.remotedir n'existe pas.
J'ai essayé de préciser
skipFailedTransfers="true"
ignoreNoncriticalErrors="true
mais ceux-ci ne résout pas le problème et la construction échoue après.
An Ant BuildException has occured: could not change remote directory: 550 /myBadDir: The system cannot find the file specified.
Savez-vous comment charger mon build Maven pour ne se soucient pas de cette erreur de tâche Ant/ou comment instruire Ant ne manquent pas dans le cas d'un répertoire manquant?
Éditer:
La solution de Peter fonctionne.
Si vous un problème comme
[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
Juste exclure fourmi 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>
Je ne sais pas comment ignorer cette erreur, mais pourquoi utilisez-vous un antcall pendant la phase de génération de ressources de Maven. Peut-être faire partie de la phase de déploiement à la place..Peut-être que vous pouvez expliquer qu'un peu plus – khmarbaise
J'ai juste besoin de mettre à jour les ressources du projet avant d'exécuter mes tests. En fait, la tâche Ant doit être exécutée pendant la phase 'generate-test-resources'. Les ressources (non nécessaires sur le déploiement) sont utilisées par les classes de test. Je ne veux pas que la tâche fourmi échoue si le dossier ftp n'existe pas. – mickthompson