## 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 Apache 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>