Strange Maven2 transitive dependency resolution problem: project A depends on project B (without exclusions) and C (excluding jdom) project B depends on JAXEN, which depends on JDom I would expect that project A would have JDom as dependency, like this: # mvn dependency:tree -Dincludes=:jdom [dependency:tree] com.packaging:A:jar:5.0-SNAPSHOT \- com.p:B:jar:5.0-SNAPSHOT:compile \- jaxen:jaxen:jar:1.1-beta-9:compile \- jdom:jdom:jar:1.0:compile However, I get an empty tree. If I remove from project A its dependency on project C: Then I get what I would expect: a dependency on JDom via project B. Why does that happen? If I try the same thing on other machines, the dependency on JDom always appears. I'm using Maven 2.0.8