Pergunta

Preciso copiar um arquivo de guerra via SCP.

Eu adicionei o jsch-0.1.42.jar para $ANT_HOME/lib Mas ainda estou recebendo este erro:

Causa: a classe org.apache.tools.ant.taskdefs.optional.ssh.scp não foi encontrada. Parece um dos componentes opcionais da formiga.

Este é o resultado de correr ant -diagnostics apenas no caso de:

http://gist.github.com/320859

Foi útil?

Solução

Parece o seu problema, do topo do diagnóstico:

Tarefas opcionais: não disponível

Seu diretório $ ANT_HOME/LIB está ausente do formi-jsch.jar, de onde vem sua aula que falta.

Não tenho certeza de como isso aconteceu - eu sempre instalei a formiga do arquivo zip no Baixar site, que inclui todas as tarefas opcionais. Se você instalou a ANT de um pacote Linux, tente verificar se há um pacote separado para as tarefas opcionais.

Depois de instalar as tarefas opcionais, eu excluiria a versão antiga do jsch.jar como sugere @trashgod.

Outras dicas

Eu tive o mesmo problema e corrigi -o! Lembre -se de que você precisa AMBAS ant-jsch.jar (Native da instalação de Ant ou Java) e atualizado jsch (No meu caso, foi jsch-0.1.46.jar) em Ant Lib Dir.

Você precisa carregar o mais novo jsch.jar a partir de http://www.jcraft.com/jsch/ e adicione à pasta Libs (mas não substitua ant-jsch.jar).

O erro que muitos desenvolvedores fazem:

  1. ant-jsch.jar desatualizado (neste casou003Cscp> Tarefa é desconhecida para Ant)
  2. Ajuste as versões das bibliotecas, então ant-jsch.jar e jsch são compatíveis.
  3. jsch não existe ou desatualizado no Ant Lib Dir
  4. Nativo ant-jsch.jar substituído por jsch (eu fiz isso...)

Nos últimos 2 casos, a formiga sabe SCP comando, mas diz que não está disponível.

Eu adicionei dependências de Ant-JSCH e JSCH no Maven Pom.xml ou incluindo esses dois frascos no Build resolveu o problema.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top