title: How to exclude commons logging dependency of spring with ivy?
body: <p>I have a project build with ant using ivy for dependency management. I have no ivysetting file, but an <code>ivy.xml</code> with the following dependency (I want to use spring with slf4j instead of commons logging):</p>
  
  <pre><code>&lt;configurations&gt;
    &lt;conf name="compile" /&gt;
    &lt;conf name="runtime" extends="compile"/&gt;
  &lt;/configurations&gt;
  &lt;dependencies&gt;
    &lt;dependency org="org.springframework" name="spring-webmvc" rev="3.0.5.RELEASE" conf="compile-&gt;default"&gt;
      &lt;exclude org="commons-logging" name="commons-logging"/&gt;
    &lt;/dependency&gt;
    &lt;dependency org="org.slf4j" name="slf4j-api" rev="1.6.1" conf="compile-&gt;default" /&gt;
    &lt;dependency org="org.slf4j" name="jcl-over-slf4j" rev="1.6.1" conf="runtime-&gt;default" /&gt;
  &lt;/dependencies&gt;
  </code></pre>
  
  <p>But when resolving the compile configuration, <code>commons-logging</code> is resolved. I also tried to use the exclude on an explicit <code>spring-core</code> dependency but <code>commons-logging</code> is always placed into the compile classpath.</p>
  
  <p>What is my fault? Isn't it that what <a href="http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/overview.html#d0e767" rel="noreferrer">Not Using Commons Logging</a> describes for maven? Is it an ivy bug? Need I a special setting? Has ivy something cached? Any idea?</p>
  
  <p>I use ant 1.8.2 and ivy 2.2.0, Using IvyDE in Eclipse has the same problem.</p>