找不到org.apache.tools.ant.taskdefs.optional.ssh.SSHExec类

时间:2015-05-06 11:48:57

标签: ant jsch

我有一些常见的问题,蚂蚁无法找到类 org.apache.tools.ant.taskdefs.optional.ssh.SSHExec 。但是,常见的解决方案对我不起作用:

  1. 确保jsch.jar和ant-jsch.jar存在于类路径中
  2. 确保所提到的罐子没有多个不同版本
  3. 确保ant -diagnostics实际上看到了罐子
  4. 我不知道接下来应该尝试什么。我得到的输出是好的'ol:

    build.xml: Problem: failed to create task or type sshexec
    Cause: the class org.apache.tools.ant.taskdefs.optional.ssh.SSHExec was not found.
            This looks like one of Ant's optional components.
    Action: Check that the appropriate optional JAR exists in
            -/usr/share/ant/lib
            -/opt/home/myname/.ant/lib
            -a directory added on the command line with the -lib argument
    
    Do not panic, this is a common problem.
    The commonest cause is a missing JAR.
    

    我的设置:

    • ant version:2014年1月22日编译的Apache Ant(TM)版本1.9.2
    • ant-jsch version:1.9.2
    • jsch版本:0.1.52

    可以在此处找到Ant诊断日志:http://pastebin.com/q5AURxuk

    从诊断日志中可以看出,罐子在那里,但是蚂蚁报告: sshexec:不可用(实现类不存在)

    我还提取了jar文件并确保该类在那里。

    有什么想法吗?

2 个答案:

答案 0 :(得分:1)

我遇到了几乎相同的问题,特别是ant -diagnostics显示sshexec任务是“不可用”。

在我的系统上,解决方案是另外安装软件包“ant-optional”(正如我已在此处发布的那样:ANT can't find specific libraries

也许这有帮助。

此致

答案 1 :(得分:0)

遇到了一个与你非常相似的问题,SCP的问题而不是SSH问题,但其他情况相同。 Tou没有说你是否自己编译过Ant使用了二进制发行版,但是或者我们发现这是一个问题,而ant-jsch.jar没有正确编译。没有关于编译的问题的建议,但是jar比预期的要小得多,只有6k。我们使用二进制分发中的ant-jsch.jar修复了这个问题,它是48k。这是使用ant-1.9.4和ant-1.9.5,Java 1.8.0_45。