I need to copy a war file via scp.
I have added the jsch-0.1.42.jar
to $ANT_HOME/lib
but I'm still getting this error:
Cause: the class org.apache.tools.ant.taskdefs.optional.ssh.Scp was not found. This looks like one of Ant's optional components.
This is the result of running ant -diagnostics
just in case:
http://gist.github.com/320859
This looks like your problem, from the top of the diagnostics:
optional tasks : not available
Your $ANT_HOME/lib directory is missing ant-jsch.jar, which is where your missing class comes from.
I'm not sure how this happened - I always install Ant from the ZIP file on the download site, which includes all the optional tasks. If you installed Ant from a Linux package, try checking to see if there is a separate package for the optional tasks.
Once you get the optional tasks installed, I would delete the old version of jsch.jar as @trashgod suggests.
I had the same problem and fixed it!
Remember, you need BOTH ant-jsch.jar
(native from ant or java installation) and updated jsch
(in my case it was jsch-0.1.46.jar
) in ant lib dir.
You need to load the newest jsch.jar
from http://www.jcraft.com/jsch/ and add to libs folder (but not replace ant-jsch.jar
).
The mistake a lot of developers do:
ant-jsch.jar
out of date (in this case <scp> task is unknown for ant)ant-jsch.jar
and jsch
are compatible.jsch
not exists or out of date in ant lib dirant-jsch.jar
replaced with jsch
(i did it...) In last 2 cases ant knows scp command, but says it is not available.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With