0

I have an ant script:

<?xml version="1.0" encoding="UTF-8"?>
<project name="AntTest" basedir="." default="clean">

 <property name="src.dir" value="src"/>
 <property name="classes.dir" value="classes"/>

 <target name="clean" description="delete all generated files">
    <delete dir="${classes.dir}" failonerror="false"/>
    <echo message="Hello" />
    <delete dir="${ant.project.name}.jar"/>
 </target>

<target name="compile" description="compile the task">
    <mkdir dir="${classes.dir}"/>
    <javac includeantruntime="false" srcdir="${src.dir}" destdir="${classes.dir}"/>
 </target>

<target name="jar" description="create jars of task" depends="compile">
    <jar destfile="${ant.project.name}.jar" basedir="${classes.dir}" />
 </target>


 <target name="use" description="use the created jars" depends="jar">
    <taskdef name="ntTest" classname="AntTest" classpath="${ant.project.name}.jar" />
    <ntTest/>
 </target>

</project>

And output is

Buildfile: D:\Work\D3000\AntTest\Build.xml
clean:
   [delete] Deleting directory D:\Work\D3000\AntTest\classes
     [echo] Hello
compile:
    [mkdir] Created dir: D:\Work\D3000\AntTest\classes
    [javac] Compiling 1 source file to D:\Work\D3000\AntTest\classes
compile:
jar:
      [jar] Building jar: D:\Work\D3000\AntTest\AntTest.jar
compile:
jar:
use:

BUILD FAILED
D:\Work\D3000\AntTest\Build.xml:24: taskdef class AntTest cannot be found
 using the classloader AntClassLoader[D:\Work\D3000\AntTest\AntTest.jar]

Total time: 758 milliseconds

Can anybody tell me why this error is coming:

BUILD FAILED D:\Work\D3000\AntTest\Build.xml:24: taskdef class AntTest cannot be found using the classloader AntClassLoader[D:\Work\D3000\AntTest\AntTest.jar]

My class file contains class named AntTest

Nipun
  • 2,217
  • 5
  • 23
  • 38

1 Answers1

0

Seems like the classname is wrong, you need the full qualified classname.

instead of :

<taskdef name="ntTest" classname="AntTest" classpath="${ant.project.name}.jar"/>

try :

<taskdef name="ntTest" classname="com.yourdomain.AntTest" classpath="${ant.project.name}.jar"/>
Rebse
  • 10,307
  • 2
  • 38
  • 66