0 votes
1 view
in Salesforce by (11.9k points)

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


/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 :(

  1. Setting $ANT_HOME export ANT_HOME=/usr/share/ant
  2. Fiddling with permissions chmod +x /usr/share/ant/lib/salesforce-jar
  3. Fiddling with groups chown root:root /usr/share/ant/lib/salesforce-jar
  4. Passing in class with -lib ant -lib /usr/share/ant/lib/salesforce-jar retrieve ...
  5. Passing in lib folder with -lib ant -lib /usr/share/ant/lib retrieve ...
  6. Adding $ANT_HOME to $PATH export PATH=$PATH:$ANT_HOME/bin

1 Answer

0 votes
by (32.1k points)

Try keeping ant-salesforce.jar under /home/ec2-user/ant/ucp and then modify 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.

Related questions

Welcome to Intellipaat Community. Get your technical queries answered by top developers !