3
votes

I am trying to use the SSHEXEC ANT task, which requires the JSCH library.

When I try to use an SSHEXEC task, I get the following:

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

I have placed jsch-0.1.50.jar (the latest) in /usr/share/ant/lib, /root/.ant/lib and even tried the following:

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

And I keep getting the same error. I have also tried renaming the file to simply jsch.jar in all the same locations. Same result. What am I doing wrong here?

UPDATE

Also I ran ant -diagnostics and see this:

...
-------------------------------------------
 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...

Note: sshexec : Not Available (the implementation class is not present)

What does that mean?

3
Hey Jake what was the answer? Nothing in this thread is helping. - laughingbovine

3 Answers

0
votes

Check whether the jar is there on the classpath by printing CLASSPATH varible in unix

0
votes

on my Linux Mint Debian Edition 2 I faced the same problem: Wondering why "sshexec" task is stated as "Not available" when executing "ant -diagnostics".

Solution on my system was to install package "ant-optional" additionally. After that the usual solutions work as expected, like putting jsch.jar to ~/.ant/lib.

Regards

0
votes

Set ANT_HOME to /usr/share/ant/

export ANT_HOME=/usr/share/ant/