2010-03-03 21 views
17

Necesito copiar un archivo war mediante scp.La tarea Ant scp no funciona, incluso con jsch en ant/lib

He añadido el jsch-0.1.42.jar-$ANT_HOME/lib pero todavía estoy recibiendo este error:

Cause: the class org.apache.tools.ant.taskdefs.optional.ssh.Scp was not found. This looks like one of Ant's optional components.

Este es el resultado de la ejecución ant -diagnostics por si acaso:

http://gist.github.com/320859

+0

tiene jsch en el classpath dos veces, elija un jsch-0.1.29.jar (153401 bytes) jsch-0.1.42.jar (185746 bytes) –

+0

sí, no funciona con ninguno de ellos. –

Respuesta

14

Esto parece su problema, desde la parte superior de los diagnósticos:

tareas opcionales: no disponible

Su directorio $ ANT_HOME/lib no tiene ant-jsch.jar, que es de donde proviene su clase faltante.

No estoy seguro de cómo sucedió esto - Siempre instalo Ant desde el archivo ZIP en el download site, que incluye todas las tareas opcionales. Si instaló Ant desde un paquete Linux, intente verificar si hay un paquete separado para las tareas opcionales.

Una vez que haya instalado las tareas opcionales, eliminaría la versión anterior de jsch.jar como lo sugiere @trashgod.

+0

Eso lo resolvió. Gracias –

+4

Si está utilizando la 'hormiga' incluida con MacOSX Lion 10.7+, no se incluye con ant-jsch.jar. Descargando una copia de la hormiga oficial y copiando el ant-jsch.jar en su ~/.ant/lib/junto con el jsch.jar mismo solucionó esto por mí. –

14

Tuve el mismo problema y lo solucioné. Recuerde, necesita AMBOSant-jsch.jar (nativo de una instalación ant o java) y actualizado jsch (en mi caso fue jsch-0.1.46.jar) en ant lib dir.

Debe cargar la nueva jsch.jar desde http://www.jcraft.com/jsch/ y agregar a la carpeta libs (pero no reemplazar ant-jsch.jar).

El error de una gran cantidad de desarrolladores hacer:

  1. ant-jsch.jar fuera de fecha (en este caso <SCP> tarea es desconocida para la hormiga)
  2. Ajustar las versiones de bibliotecas, por lo ant-jsch.jar y jsch son compatibles.
  3. jsch no existe o no está actualizada en el directorio lib hormiga
  4. nativo ant-jsch.jar reemplazado con jsch (lo hice ...)

En el pasado 2 casos hormiga sabe SCP mando, pero lo dice no está disponible.

+0

Y si las cosas aún no funcionan, como me sucedió a mí, tenga en cuenta que hay incompatibilidades de versión. Actualice la hormiga, asegúrese de que ex-jsch esté presente y actualice jsch a la última versión. – dgorur

+0

No ayuda cuando se usa 'mvn antrun: run'. Tratando de usar tanto ant-jsch-1.9.2 como jsch-0.1.54 pero da error. – zygimantus

Cuestiones relacionadas