ANT 找不到特定的库

  • 本文关键字:找不到 ANT java ant jsch
  • 更新时间 :
  • 英文 :


我正在尝试使用SSHEXEC ANT任务,该任务需要JSCH库。

当我尝试使用SSHEXEC任务时,我会得到以下结果:

BUILD FAILED
/home/www/test/build/build.xml:140: 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
        -/root/.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.
This is not a bug; it is a configuration problem

我在/usr/share/ant/lib/root/.ant/lib中放置了jsch-0.1.50.jar(最新的),甚至尝试了以下操作:

ant my-sshexec-target-name -lib /path/to/jsch-0.1.50.jar

我总是犯同样的错误。我还尝试在所有相同的位置将文件重命名为简单的jsch.jar。同样的结果。我在这里做错了什么?

更新

此外,我运行了ant -diagnostics,并看到了以下内容:

...
-------------------------------------------
 Tasks availability
-------------------------------------------
p4reopen : Not Available (the implementation class is not present)
image : Not Available (the implementation class is not present)
sshexec : Not Available (the implementation class is not present)
wlrun : Not Available (the implementation class is not present)
p4label : Not Available (the implementation class is not present)
p4revert : Not Available (the implementation class is not present)
p4submit : Not Available (the implementation class is not present)
scp : Not Available (the implementation class is not present)
p4change : Not Available (the implementation class is not present)
p4delete : Not Available (the implementation class is not present)
p4integrate : Not Available (the implementation class is not present)
rexec : Not Available (the implementation class is not present)
stlist : Not Available (the implementation class is not present)
telnet : Not Available (the implementation class is not present)
etc...

注意:sshexec:不可用(实现类不存在)

这是什么意思?

在我的Linux Mint Debian Edition 2上,我遇到了同样的问题:想知道为什么在执行"ant-diagnostics"时"sshexec"任务被声明为"不可用"。

在我的系统上的解决方案是额外安装软件包"ant optional"。之后,通常的解决方案按预期工作,比如将jsch.jar放入~/.ant/lib.

问候

通过在unix 中打印classpath变量来检查jar是否在类路径上

将ANT_HOME设置为/usr/share/ANT/

export ANT_HOME=/usr/share/ant/

相关内容

  • 没有找到相关文章

最新更新