If you get an error message like this while running a problematic Ant build script file :
It means your Ant build script file using optional Ant libraries and need to tell Ant where to find them.In my case, it needs jsch.jar aka libjsch-java package in Debian/Ubuntu Linux. First you need to install ant-optional package for Ant optional libraries support :
sudo apt-get install ant-optionalThen the libjsch-java Debian/Ubuntu package:
sudo apt-get install libjsch-java Then put it in correct directories so that Ant can find them :
mkdir -vp ~/.ant/lib
ln -s /usr/share/java/jsch.jar ~/.ant/lib/ Ubuntu's Ant look for libraries in /usr/share/ant/lib folder, while Eclipse IDE's Ant look for optional Ant libraries in $HOME/.ant/lib folder. Note that for Eclipse IDE, you may need to refresh Eclipse Ant Plug-in's Runtime Classpath, by going to Window > Preferences > Ant > Runtime, and clicking "Restore Defaults".
Make sure that the required libraries are now listed under "Global Entries".Ant build system is frequently used in typical Java EE 6 enterprise application development. I highly recommend The Java EE 6 Tutorial: Basic Concepts (4th Edition) for a practical guide to the Java EE 6 technology.
remote.flush:BUILD FAILED
/home/ceefour/git/magento-id/build.xml:13: The following error occurred while executing this line:
/home/ceefour/git/magento-id/build.xml:22: Problem: failed to create task or type sshexec
Cause: Could not load a dependent class com/jcraft/jsch/Logger
It is not enough to have Ant's optional JARs
you need the JAR files that the optional tasks depend upon.
Ant's optional task dependencies are listed in the manual.
Action: Determine what extra JAR files are needed, and place them in one of:
-/home/opt/eclipse_web/plugins/org.apache.ant_1.8.2.v20110505-1300/lib
-/home/ceefour/.ant/lib
-a directory added on the command line with the -lib argumentDo not panic, this is a common problem.
The commonest cause is a missing JAR.This is not a bug; it is a configuration problem
/home/ceefour/git/magento-id/build.xml:13: The following error occurred while executing this line:
/home/ceefour/git/magento-id/build.xml:22: Problem: failed to create task or type sshexec
Cause: Could not load a dependent class com/jcraft/jsch/Logger
It is not enough to have Ant's optional JARs
you need the JAR files that the optional tasks depend upon.
Ant's optional task dependencies are listed in the manual.
Action: Determine what extra JAR files are needed, and place them in one of:
-/home/opt/eclipse_web/plugins/org.apache.ant_1.8.2.v20110505-1300/lib
-/home/ceefour/.ant/lib
-a directory added on the command line with the -lib argumentDo not panic, this is a common problem.
The commonest cause is a missing JAR.This is not a bug; it is a configuration problem
It means your Ant build script file using optional Ant libraries and need to tell Ant where to find them.In my case, it needs jsch.jar aka libjsch-java package in Debian/Ubuntu Linux. First you need to install ant-optional package for Ant optional libraries support :
sudo apt-get install ant-optionalThen the libjsch-java Debian/Ubuntu package:
sudo apt-get install libjsch-java Then put it in correct directories so that Ant can find them :
sudo ln -s /usr/share/java/jsch.jar /usr/share/ant/lib/mkdir -vp ~/.ant/lib
ln -s /usr/share/java/jsch.jar ~/.ant/lib/ Ubuntu's Ant look for libraries in /usr/share/ant/lib folder, while Eclipse IDE's Ant look for optional Ant libraries in $HOME/.ant/lib folder. Note that for Eclipse IDE, you may need to refresh Eclipse Ant Plug-in's Runtime Classpath, by going to Window > Preferences > Ant > Runtime, and clicking "Restore Defaults".
Make sure that the required libraries are now listed under "Global Entries".Ant build system is frequently used in typical Java EE 6 enterprise application development. I highly recommend The Java EE 6 Tutorial: Basic Concepts (4th Edition) for a practical guide to the Java EE 6 technology.