包含ant jsch库时遇到问题

时间:2013-06-14 17:00:07

标签: ant cruisecontrol.net jsch

我是一个蚂蚁新手,我正在尝试使用Cruise Control运行一个利用SCP和SSHEXEC任务的蚂蚁构建。当我尝试运行脚本时,我收到此错误:

  

问题:无法创建任务或输入sshexec原因:该类   找不到org.apache.tools.ant.taskdefs.optional.ssh.SSHExec。这个   看起来像Ant的可选组件之一。行动:检查一下   适当的可选JAR存在于 - / app / cruisecontrol-bin-2.8.4 / lib

我跑了ant -diagnostics并且说我的ANT_HOME / lib中包含了ant-jsch.jar(40200字节),我也看到了cruisecontrol-bin-2.8.4 / lib中的jar,尽管如此一个是~30,122个字节。

然而,诊断说:

sshexec : Missing dependency com.jcraft.jsch.Logger
scp : Missing dependency com.jcraft.jsch.Logger

我将版本从ANT_HOME / lib中删除到巡航控制库中并没有什么区别(我不确定是否必须重新加载类路径或其他内容,甚至不知道如何操作)。 / p>

任何建议或建议都会非常感激,我真的不知道如何解决这个问题。昨晚我也在尝试taskdef,但那也没有用。

1 个答案:

答案 0 :(得分:1)

通过确保您拥有Ant方面,您朝着正确的方向迈出了一步。 问题是您缺少外部JSch类com.jcraft.jsch.Logger

要解决此问题,您需要通过从Ant docs下载并安装jsch.jar来满足外部依赖关系(如JCraft中所列)。如果适合,可以将jar放在Ant lib目录中。

当你晃来晃去'你不认识的外部依赖,谷歌搜索通常是查找源的最快方式:在这种情况下,JCraft目前在搜索中显示大约四分之一。 JarFinder是第三个,它将类名映射到包含它的jar。