document classloader separation
-------------------------------

         Key: MNG-1139
         URL: http://jira.codehaus.org/browse/MNG-1139
     Project: Maven 2
        Type: Task
  Components: documentation  
 Reporter: Brett Porter


as part of the plugin dev guide.

"To add a bit of detail for a volunteer to submit as documentation... :)

m2/core/boot is what is in the java classpath (ie, just classworlds,
which constructs classloaders for the rest of the system)

the top level classloader contains plexus container and plexus utils
(see m2/core), and also has access to classworlds

the next classloader has the libraries in m2/lib (a bug in beta 1
incorporated commons-logging and -lang, sorry about that!) In general
these are just maven libraries. We hope to further separate these in
future to just be maven apis.

after that, each plugin has its own classloader, including its
dependencies, itself, and the libraries above. It *does not* contain
the project dependencies like in m1, but instead has access to a list
of JAR files in case they are needed.

In addition, a project can list "extensions". These are loaded into
the same place as m2/lib and so available to the maven core and all
plugins for the currnet project and subsequent projects (in future, we
plan to remove it from subsequent projects).



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to