【问题标题】:Having trouble including ant jsch library在包含 ant jsch 库时遇到问题
【发布时间】:2013-06-14 17:00:07
【问题描述】:

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

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

我运行了ant -diagnostics,它说 ant-jsch.jar(40200 字节)包含在我的 ANT_HOME/lib 中,我也在 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 放到了巡航控制库中,但并没有什么不同(我不确定我是否必须重新加载类路径或其他什么,甚至如何做到这一点)。

任何意见或建议将不胜感激,我真的不知道如何解决这个问题。昨晚我也在尝试 taskdef,但也没有用。

【问题讨论】:

标签: ant cruisecontrol.net jsch


【解决方案1】:

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

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

当您获得无法识别的“悬空”外部依赖项时,谷歌搜索通常是查找源代码的最快方法:在这种情况下,JCraft 目前在搜索中排名第四。 JarFinder 是第三个,它将类名映射到包含它的 jar 中。

【讨论】:

  • 谢谢!那行得通,看来我还需要来自 JSCH 网站的 ant-jsch.jar 和 JAR
猜你喜欢
  • 2015-10-05
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-22
  • 1970-01-01
  • 2011-02-06
相关资源
最近更新 更多