You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by "Brett Porter (JIRA)" <ji...@codehaus.org> on 2005/05/16 03:29:34 UTC

[jira] Updated: (MNG-396) attempt to create a shared and internal classloader for Maven

     [ http://jira.codehaus.org/browse/MNG-396?page=all ]

Brett Porter updated MNG-396:
-----------------------------

    Description: 
currently, all plugins inherit everything in the Maven classloader hierachy, and we must filter those out so they end up with those versions.

We should minimise this, by separating the classloaders:

boot - classworlds
 |
 v
core - plexus
 |
 v
shared - anything that is passed from Maven's core to plugins (Eg project, plugin api, report api, ...)
 |  
 +-> individual plugin classloader
 |
 +-> Maven internal classloader - add wagon, etc.

This allows invididual plugins to use newer or incompatible versions of JARs that Maven itself uses.

  was:
currently, all plugins inherit everything in the Maven classloader hierachy, and we must filter those out so they end up with those versions.

We should minimise this, by separating the classloaders:

boot - classworlds
 |
 v
core - plexus
 |
 v
shared - anything that is passed from Maven's core to plugins (Eg project, plugin api, report api, ...)
 |                                             |
 v                                             v
individual plugin classloader           Maven internal classloader - add wagon, etc.

This allows invididual plugins to use newer or incompatible versions of JARs that Maven itself uses.


> attempt to create a shared and internal classloader for Maven
> -------------------------------------------------------------
>
>          Key: MNG-396
>          URL: http://jira.codehaus.org/browse/MNG-396
>      Project: m2
>         Type: Improvement
>   Components: maven-core
>     Reporter: Brett Porter
>     Assignee: Brett Porter
>      Fix For: 2.0-alpha-3

>
>
> currently, all plugins inherit everything in the Maven classloader hierachy, and we must filter those out so they end up with those versions.
> We should minimise this, by separating the classloaders:
> boot - classworlds
>  |
>  v
> core - plexus
>  |
>  v
> shared - anything that is passed from Maven's core to plugins (Eg project, plugin api, report api, ...)
>  |  
>  +-> individual plugin classloader
>  |
>  +-> Maven internal classloader - add wagon, etc.
> This allows invididual plugins to use newer or incompatible versions of JARs that Maven itself uses.

-- 
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: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org