Задача Ant scp не работает, даже с jsch на ant / lib

17

Мне нужно скопировать военный файл с помощью scp.

Я добавил jsch-0.1.42.jar к $ANT_HOME/lib , но я все еще получаю эту ошибку:

  

Причина: класс   org.apache.tools.ant.taskdefs.optional.ssh.Scp   не был найден.           Это похоже на один из дополнительных компонентов Ant.

Это результат запуска ant -diagnostics на всякий случай:

Ссылка

    
задан Pablo Fernandez 03.03.2010 в 19:57
источник
  • у вас есть jsch по пути класса дважды, выберите один jsch-0.1.29.jar (153401 bytes) jsch-0.1.42.jar (185746 bytes) –  feeling unwelcome 03.03.2010 в 19:58
  • да, он не работает ни с одним из них. –  Pablo Fernandez 03.03.2010 в 20:00

2 ответа

14

Это похоже на вашу проблему, начиная с верхней части диагностики:

дополнительные задачи: недоступно

В вашем каталоге $ ANT_HOME / lib отсутствует ant-jsch.jar, откуда приходит ваш отсутствующий класс.

Я не уверен, как это произошло - я всегда устанавливаю Ant из ZIP-файла на сайте загрузки , который включает все дополнительные задачи. Если вы установили Ant из пакета Linux, попробуйте проверить, есть ли отдельный пакет для дополнительных задач.

Как только вы установите дополнительные задачи, я удалю старую версию jsch.jar, как предлагает @trashgod.

    
ответ дан gareth_bowles 03.03.2010 в 21:45
  • Это решило. благодаря –  Pablo Fernandez 04.03.2010 в 18:28
  • Если вы используете «муравей» в комплекте с MacOSX Lion 10.7+, он не отправляется с ant-jsch.jar. Скачивание копии официального муравья и копирование ant-jsch.jar в ваш ~ / .ant / lib / вместе с jsch.jar само по себе исправило это для меня. –  Gabe Martin-Dempesy 10.02.2012 в 00:25
14

У меня была такая же проблема и исправлено! Помните, что вам нужно BOTH ant-jsch.jar (на основе установки ant или java) и обновлено jsch (в моем случае это было jsch-0.1.46.jar ) в каталоге ant lib.

Вам нужно загрузить новейший jsch.jar из Ссылка и добавить в папку libs (но не заменить ant-jsch.jar ) .

Ошибка, которую делают многие разработчики:

  1. ant-jsch.jar устарело (в данном случае задача неизвестна для муравья)
  2. Отрегулируйте версии библиотек, поэтому совместимы ant-jsch.jar и jsch .
  3. jsch не существует или устарело в ant lib dir
  4. Native ant-jsch.jar заменен на jsch (я сделал это ...)

В последних двух случаях ant знает команду scp , но говорит, что она недоступна.

    
ответ дан radistao 26.02.2012 в 18:05
  • И если все еще не работает, как это случилось со мной, обратите внимание, что существуют несовместимости версий. Обновите муравей, убедитесь, что ant-jsch присутствует, и обновите jsch до последнего. –  dgorur 16.07.2013 в 20:21
  • Не помогает при использовании mvn antrun: run. Пытаясь использовать и ant-jsch-1.9.2 и jsch-0.1.54, но он дает ошибку. –  zygimantus 08.03.2017 в 12:03