Sto tentando di caricare un file utilizzando un'attività Ant. Se uso Ant direttamente il file viene caricato, ma se chiamo il compito formica via Maven (utilizzando il maven-antrun-plugin
) ottengo il seguente errore:Carica file tramite attività FTP Ant in Maven
una formica BuildException è verificato: Si è verificato il seguente errore durante l'esecuzione di questa linea:
/home/me/proj/build.xml:15: Problem: failed to create task or type ftp
Cause: the class org.apache.tools.ant.taskdefs.optional.net.FTP was not found.
This looks like one of Ant's optional components.
Action: Check that the appropriate optional JAR exists in
-ANT_HOME/lib
formica-commonsnet.jar è chiaramente disponibile per Ant:
$ ls $ANT_HOME/lib | grep ant-commons-net
ant-commons-net.jar
è il percorso di classe Ant definito separatamente per Maven-antrun-plug, o mi sto perdendo qualcosa?
Questo è l'approccio giusto. Le uniche cose che suggerirei di fare in modo diverso sono: 1) specificare il gruppo 'ant' id invece di 'org.apache.ant' dato che questo è quello che i plugin Maven fanno riferimento internamente. –
Se si tratta di un progetto a più moduli, si dovrebbe anche considerare di aggiungere le dipendenze a una sezione pluginManagement all'interno del pom del progetto root. Ciò impedirà ad altri riferimenti a antrun nel tuo progetto di aggirare le tue dipendenze. –
@Tim Infatti, [dalla versione 1.7.0] (http://mvnrepository.com/artifact/org.apache.ant/ant-commons-net) di 'ant-commons-net',' groupId' è 'org.apache.ant' ma quello sopra è corretto per la versione 1.6.5. In altre parole, adattalo se vuoi usare una versione più recente. E tu naturalmente hai ragione riguardo alla sezione 'pluginManagement'.Aggiornerò la mia risposta per dire che ... domani :) Grazie per entrambi i commenti! –