Estoy tratando de cargar un archivo usando una tarea Ant. Si utilizo Ant directamente subido el archivo, pero si llamo a la tarea ant través de Maven (utilizando el maven-antrun-plugin
) me sale el siguiente error:Subir archivo a través de la tarea Ant FTP en Maven
una hormiga BuildException ha ocurrido: Se ha producido el siguiente error durante la ejecución de esta línea:
/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
hormiguero commonsnet.jar es claramente disponible a Ant:
$ ls $ANT_HOME/lib | grep ant-commons-net
ant-commons-net.jar
es la ruta de clase Ant definido por separado para maven-antRun-plugin, o me estoy perdiendo algo?
Este es el enfoque correcto. Las únicas cosas que sugeriría hacer de forma diferente es: 1) especificar el 'group'd Id del grupo en su lugar como' org.apache.ant' ya que esto es lo que los plugins de Maven hacen referencia internamente. –
Si se trata de un proyecto de varios módulos, también debería considerar agregar las dependencias a una sección de administración de complementos dentro del proyecto raíz pom. Esto evitará que otras referencias a antrun en su proyecto afecten sus dependencias. –
@Tim De hecho, [a partir de la versión 1.7.0] (http://mvnrepository.com/artifact/org.apache.ant/ant-commons-net) de 'ant-commons-net', el' groupId' es 'org.apache.ant' pero el anterior es correcto para la versión 1.6.5. En otras palabras, adáptelo si desea usar una versión más reciente. Y, por supuesto, tienes razón sobre la sección 'pluginManagement'.Actualizaré mi respuesta para mencionar que ... mañana :) ¡Gracias por ambos comentarios! –