# TaskDef Task

## Taskdef

### Description

Adds a task definition to the current project, such that this new task can be used in the current project. Two attributes are needed, the name that identifies this task uniquely, and the full name of the class (including the packages) that implements this task.

You can also define a group of tasks at once using the file or resource attributes. These attributes point to files in the format of Java property files. Each line defines a single task in the format:

    taskname=fully.qualified.java.classname

Taskdef should be used to add your own tasks to the system. See also "Writing your own task".

### Parameters

Attribute | Description | Required
name | the name of the task | Yes, unless file or resource have been specified.
classname | the full class name implementing the task | Yes, unless file or resource have been specified.
file | Name of the property file to load taskname/classname pairs from. | No
resource | Name of the property resource to load taskname/classname pairs from. | No
classpath | the classpath to use when looking up `classname` or `resource`. | No

### Parameters specified as nested elements

#### classpath

`Taskdef`'s classpath attribute is a PATH like structure and can also be set via a nested classpath element.

### Examples

      <taskdef name="myjavadoc" classname="com.mydomain.JavadocTask"/>

makes a task called `myjavadoc` available to Ant. The class `com.mydomain.JavadocTask` implements the task.

Copyright © 2001 Apache Software Foundation. All rights Reserved.