Xavier Hanin a écrit :

I think the problem comes from the metadata in the maven 2 repo:
commons-configuration 1.4 depends on commons-jxpath 1.2 in scope compile,
which in turn depends on servletapi 2.2 in scope compile too. According to
maven 2 scope management documentation [1], it's normal you get servletapi
with this metadata. I guess there are similar reasons for other
dependencies. To understand why Ivy brings a dependency, I suggest
generating the html report (alternatively you can simply go in your ivy
cache root and open the xml report file with a web browser). This should
help you understand why you'll need a lot of excludes when using maven 2
repo...

Thank you, it's much clearer now. The dependencies of commons logging 1.1 were not properly scoped, it has been fixed with the 1.1.1 release. So in this case, adding a first level dependency on commons logging 1.1.1 in my module ensures that logkit and log4j are not retrieved.

There is something curious though, I looked at the pom for commons configuration 1.5, and the dependency on commons-logging is declared with an exclusion on logkit and avalon :

http://svn.apache.org/viewvc/commons/proper/configuration/tags/CONFIGURATION_1_5/pom.xml?view=markup

But the exclusion disappeared in the pom published in the Maven repository :

http://repo1.maven.org/maven2/commons-configuration/commons-configuration/1.5/commons-configuration-1.5.pom

I wonder what may have caused this.

Emmanuel Bourg

Reply via email to