Ant scp 任务不起作用,即使 jsch 在 ant/lib 上也是如此
我需要通过scp复制战争文件。
我已经添加了,但我仍然收到这个错误:jsch-0.1.42.jar
$ANT_HOME/lib
原因:找不到类 org.apache.tools.ant.taskdefs.optional.ssh.Scp。这看起来像是 Ant 的可选组件之一。
这是运行以防万一的结果:ant -diagnostics
我需要通过scp复制战争文件。
我已经添加了,但我仍然收到这个错误:jsch-0.1.42.jar
$ANT_HOME/lib
原因:找不到类 org.apache.tools.ant.taskdefs.optional.ssh.Scp。这看起来像是 Ant 的可选组件之一。
这是运行以防万一的结果:ant -diagnostics
从诊断程序的顶部看,这看起来像您的问题:
可选任务:不可用
您的$ANT_HOME/lib 目录缺少 ant-jsch.jar,这是您缺少的类的来源。
我不确定这是怎么发生的 - 我总是从下载站点上的ZIP文件安装Ant,其中包括所有可选任务。如果从 Linux 软件包安装了 Ant,请尝试检查是否有用于可选任务的单独软件包。
一旦你安装了可选任务,我会按照@trashgod的建议删除旧版本的jsch.jar。
我有同样的问题并修复了它!请记住,您需要在 ant lib dir 中同时使用(来自 ant 或 java 安装的本机)和更新(在我的情况下是)。ant-jsch.jar
jsch
jsch-0.1.46.jar
您需要从 http://www.jcraft.com/jsch/ 加载最新的,并添加到libs文件夹(但不是替换)。jsch.jar
ant-jsch.jar
许多开发人员都犯的错误:
ant-jsch.jar
已过期(在本例中为 <scp>任务对于 ant 是未知的)ant-jsch.jar
jsch
jsch
在 ant lib dir 中不存在或已过期ant-jsch.jar
jsch
在最后2种情况下,蚂蚁知道scp命令,但说它不可用。