The Question
I'm trying to use the Force.com Migration Tool (a custom ant library) on a linux box and can't for the life of me figure out how to get ant to see that library. What am I doing wrong?
The Error Message
BUILD FAILED
/home/ec2-user/ant/ucp/build.xml:48: Problem: failed to create
task or type antlib:com.salesforce:retrieve
Cause: The name is undefined.
The Background
I installed ant using yum install ant
and then I dropped the Force.com Migration Tool (ant-salesforce.jar) into /usr/share/ant/lib
. I'm able to see this library when I run ant -diagnostics
, but none of the tasks for that library (should be seeing deploy, retrieve, etc.). I've uploaded a gist with the full output from ant -diagnostics
.
-------------------------------------------
ANT_HOME/lib jar listing
-------------------------------------------
ant.home: /usr/share/ant
ant-bootstrap.jar (19837 bytes)
ant-salesforce.jar (3293054 bytes)
ant.jar (1942059 bytes)
ant-launcher.jar (18418 bytes)
After lots of googling and manual reading I tried the following to no avail (NB: the above diagnostics is without any of the below changes). I know I'm missing something obvious :(
export ANT_HOME=/usr/share/ant
chmod +x /usr/share/ant/lib/salesforce-jar
chown root:root /usr/share/ant/lib/salesforce-jar
ant -lib /usr/share/ant/lib/salesforce-jar retrieve ...
ant -lib /usr/share/ant/lib retrieve ...
export PATH=$PATH:$ANT_HOME/bin
How about keeping ant-salesforce.jar
under /home/ec2-user/ant/ucp
and then change the taskdef
element to look like this:
<taskdef resource="com/salesforce/antlib.xml" classpath="ant-salesforce.jar" />
Run your build again and see if things look better. Having the JAR in the same folder as build.xml
will help you eliminate issues with permissions.
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