You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by bw...@apache.org on 2003/06/10 16:17:21 UTC

cvs commit: maven/xdocs/reference developer-guide.xml

bwalding    2003/06/10 07:17:21

  Modified:    xdocs/reference developer-guide.xml
  Log:
  Documentation patch
  PR:MAVEN-434
  Submitted by:	Brett Porter
  
  Revision  Changes    Path
  1.8       +51 -0     maven/xdocs/reference/developer-guide.xml
  
  Index: developer-guide.xml
  ===================================================================
  RCS file: /home/cvs/maven/xdocs/reference/developer-guide.xml,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- developer-guide.xml	30 Mar 2003 22:59:57 -0000	1.7
  +++ developer-guide.xml	10 Jun 2003 14:17:21 -0000	1.8
  @@ -194,6 +194,57 @@
           
           
         </subsection>
  +      <subsection name="Class Loaders">
  +        <p>When writing plugins, you will need to control the class loaders that
  +          are used to load your specified dependencies. The following table
  +          shows the classloaders available:
  +        </p>
  +        <table>
  +          <tr>
  +            <th>Class loader</th>
  +            <th>Description</th>
  +          </tr>
  +          <tr>
  +            <td>&lt;default&gt;</td>
  +            <td>
  +              This class loader is used if none is specified in the dependency.
  +              This means that the dependency is loaded into the plugin's class
  +              loader, making it available to the plugin only.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td><code>root</code></td>
  +            <td>
  +              This is the Ant class loader, and the most common override used in
  +              a plugin. Use this if you need to specify a dependency used by a
  +              custom Ant task used in the plugin.
  +            </td>
  +          </tr>
  +          <tr>
  +            <td><code>root.maven</code></td>
  +            <td>
  +              This is the Maven class loader. Use it if you wish to have the
  +              dependency available to the Maven core.
  +            </td>
  +          </tr>
  +        </table>
  +        <p>To specify a classloader for a dependency, add a section similar to
  +          the following to your plugin's project.xml:
  +        </p>
  +        <source><![CDATA[
  +<dependency>
  +  <groupId>jaxb</groupId>
  +  <artifactId>jaxb-xjc</artifactId>
  +  <properties>
  +    <classloader>root</classloader>
  +  </properties>
  +</dependency>
  +        ]]></source>
  +        <p>You should also note that the same properties can be used in your
  +          projects, not just plugins. This may be required if you are writing
  +          custom scripts in <code>maven.xml</code>.
  +        </p>
  +      </subsection>
       </section>
    </body>
   </document>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org