In maven 1.X, we use only two classloaders :
- root : where are loaded : ant, commons-logging , log4j and the jdk tools
- root.maven : maven and all other dependencies loaded for the plugins.
In m1 I (we) don't want to do some big refactoring, because we have already m2 for this.
What I propose is to try to update all dependencies to unify them between the core and the plugins :
ant=1.6.5
ant-junit=1.6.5
ant-launcher=1.6.5
ant-trax=1.6.5
commons-beanutils=1.7.0
commons-cli=1.0-beta-2
commons-collections=3.0
commons-httpclient=2.0.2
commons-io=1.0
commons-jelly=1.0
commons-jelly-tags-ant=1.1
commons-jelly-tags-define=1.0
commons-jelly-tags-util=1.1.1
commons-jelly-tags-xml=1.1
commons-jexl=1.0
commons-lang=2.0
commons-logging=1.0.3
dom4j=1.4
forehead=1.0-beta-5
log4j=1.2.8
maven-model=3.0.1
plexus-utils=1.0-alpha-3
wagon-file=1.0-alpha-3
wagon-http=1.0-alpha-3
wagon-provider-api=1.0-alpha-3
I will also add a paragraph on the page "writing a plugin" (http://maven.apache.org/using/developing-plugins.html
) to incite plugins
developpers to use the same releases of the libraries defined in maven's core and in maven's plugins bundled with the core.
maven.jar.commons-beanutils=1.6.1
maven.jar.plexus-utils=1.0.3
maven.jar.wagon-file=1.0-alpha-4