## Whichresource

### Description

Find a class or resource on the supplied classpath, or the system classpath if none is supplied. The named property is set if the item can be found. For example:

>       <whichresource resource="/log4j.properties" property="log4j.url" >

### Parameters

Attribute | Description | Required
property | The property to fill with the URL of the resource of class. | Yes
class | The name of the class to look for. | Exactly one of these.
resource | The name of the resource to look for.
classpath | The classpath to use when looking up `class` or `resource`. | No
classpathref | The classpath to use, given as a reference to a path defined elsewhere. Since Ant 1.7.1. | No

### Parameters specified as nested elements

#### classpath

`Whichresource`'s `classpath` attribute is a path-like structure and can also be set via a nested `<classpath>` element.

### Examples

The following shows using a classpath reference.

>       <path id="bsf.classpath">
>         <fileset dir="${user.home}/lang/bsf" includes="*.jar"/>
>       </path>
>       <whichresource property="bsf.class.location"
>                      class="org.apache.bsf.BSFManager"
>                      classpathref="bsf.classpath"/>
>       <echo>${bsf.class.location}</echo>

The following shows using a nested classpath.

>       <whichresource
>         property="ant-contrib.antlib.location"
>         resource="net/sf/antcontrib/antlib.xml">
>         <classpath>
>           <path path="f:/testing/ant-contrib/target/ant-contrib.jar"/>
>         </classpath>
>       </whichresource>
>       <echo>${ant-contrib.antlib.location}</echo>