Hi all, 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. I recently found a problem because in several plugins we used commons-collections 3.1 which is incompatible with commons-collections 2.1 (bundled in maven 1.0) and 3.0 (bundled in maven 1.1) : http://maven.apache.org/reference/plugins/dependency-convergence-report.html The javadoc plugin failed because it tried to use a functionnality in commons-collections 3.1 and this is not the release loaded by maven.
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 did it and I found a working configuration : http://people.apache.org/~aheritier/maven-stage-site/reference/plugins/dependency-convergence-report.html I didn't (yet) updated dependencies between plugins which aren't in conflict with the core. You'll find the patchs here : http://people.apache.org/~aheritier/unify/core-unify-dependencies.patch http://people.apache.org/~aheritier/unify/plugin-unify-dependencies.patch I forced in the project.properties of plugin-parent the use of the same releases as in maven 1.1 core. [There's also a problem with commons-beanutils. The future checkstyle plugin needs the release 1.7 whereas we use the 1.6.1 in the core. I tryied to downgrade the plugin or to upgrade the core but there are some problems. Thus actually we have in the classloader some old classes coming from commons-beanutils 1.6.1 and some new classes coming from the 1.7.] 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. I would like to have the consent of all m1 plugins release managers before to commit these changes. Thanks. Arnaud --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
