Classpath Element
Description
A <classpath> element defines a classloader chain based on the three classloader categories - PUBLIC, PROTECTED and PRIVATE. Typically a classloader chain will be constructed relative to a supplied anchor classloader. The anchor will be used as the parent to a PUBLIC classloader which in-turn is used as the parent for the creatio of a protected (or SPI) classloader. The protected classloader is used as the parent to the PRIVATE implemention classloader.
Nested Elements
public | Declaration of the collection of resource uris that collectively define the public classloader. The <public> element is optional and may contain 0..n nested <uri> elements. |
protected | Declaration of the collection of resource uris that collectively define the protected classloader which is itself defined using the public classloader as its parent. The <protected>element is optional and may contain 0..n nested <uri> elements. |
private | Declaration of the collection of resource uris that collectively define the private implementation classloader which is itself defined using the protected classloader as its parent. The <private>element is optional and may contain 0..n nested <uri> elements. |
Examples
<part xmlns="dpml:part"> <info title="DPML Depot Toolkit"> <description>Antlib supporting Depot-based build automation.</description> </info> <component xmlns="dpml:metro" name="builder" class="dpml.tools.impl.StandardBuilder"/> <classpath> <private> <uri>artifact:jar:dpml/transit/dpml-transit-main#2.0.0</uri> <uri>artifact:jar:dpml/metro/dpml-metro-part#2.0.0</uri> <uri>artifact:jar:dpml/depot/dpml-depot-library#2.0.0</uri> <uri>artifact:jar:dpml/util/dpml-util-cli#2.0.0</uri> <uri>artifact:jar:dpml/depot/dpml-depot-build#2.0.0</uri> <uri>artifact:jar:org/apache/ant/ant-launcher#1.7.0</uri> <uri>artifact:jar:org/apache/ant/ant#1.7.0</uri> <uri>artifact:jar:junit/junit#4.2</uri> <uri>artifact:jar:org/apache/ant/ant-junit#1.7.0</uri> <uri>artifact:jar:org/apache/ant/ant-trax#1.7.0</uri> <uri>artifact:jar:dpml/depot/dpml-depot-builder#2.0.0</uri> </private> </classpath> </part>