How add antlib declaration to project in eclipse?

1.1k views Asked by At

I have created project named "antt" to test ant with Migration tool from eclipse. I have created java project in eclipse and try run "test" from there.

"test" in build.xml:

 <!-- Test out deploy and retrieve verbs for package 'mypkg' -->
    <target name="test">
      <!-- Upload the contents of the "mypkg" package -->
      <sf:deploy username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" deployRoot="mypkg" rollbackOnError="true"/>
      <mkdir dir="retrieveOutput"/>
      <!-- Retrieve the contents into another directory -->
      <sf:retrieve username="${sf.username}" password="${sf.password}" sessionId="${sf.sessionId}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="unpackaged" packageNames="MyPkg"/>
    </target>

Error:

Buildfile: C:\SF\workspacenew\antt\build.xml test:

BUILD FAILED C:\SF\workspacenew\antt\build.xml:19: Problem: failed to create task or type antlib:com.salesforce:deploy Cause: The name is undefined.  Action: Check the spelling.  Action: Check that any custom tasks/types have been declared.  Action: Check that any <presetdef>/<macrodef> declarations have taken place. No types or tasks have been defined in this namespace yet

This appears to be an antlib declaration.  Action: Check that the implementing library exists in one of:
        -C:\eclipse\plugins\org.apache.ant_1.8.4.v201303080030\lib
        -C:\Users\User\.ant\lib
        -a directory added on the command line with the -lib argument


Total time: 560 milliseconds
1

There are 1 answers

0
Lucky On

Refer to my answer over here,

  1. Create a lib directory in the root of your project and place the maven-ant-tasks.jar file inside it.
  2. Include the import statement in your build.xml

    <path id="maven-ant-tasks.classpath" path="lib/maven-ant-tasks-2.1.3.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="antlib:org.apache.maven.artifact.ant" classpathref="maven-ant-tasks.classpath" />
    

Hope this helps.