Hello, I have a question about transitive dependencies. According to the pom documentation here: http://maven.apache.org/pom.html#Dependencies
project dependencies marked with test scope are not transitive. I assumed that this also applied to it's dependencies, so my question is if I declare a dependency on a project at test scope, that project's dependencies should all be included at test scope. For example, given the following project(s) Project test-utils defines a junit dependency like such: <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> Project application defines a dependency on test-utils with a scope of test like such <dependency> <groupId>${project.groupId}</groupId> <artifactId>test-utils</artifactId> <version>${project.version}</version> <scope>test</scope> </dependency> Now running mvn clean dependency:tree shows that the junit dependency is being passed to the application project at compile scope which is not expected. [INFO] --- maven-dependency-plugin:2.7:tree (default-cli) @ application --- [INFO] org.sandbox:application:war:1.0.0-SNAPSHOT .... [INFO] \- org.sandbox:test-utils:jar:1.0.0-SNAPSHOT:test [INFO] +- junit:junit:jar:4.8.2:compile [INFO] +- org.mockito:mockito-all:jar:1.8.5:test [INFO] +- com.h2database:h2:jar:1.3.165:test [INFO] \- log4j:log4j:jar:1.2.16:test Is this a bug or was my interpretation of the transitive dependency logic incorrect? Thank you for your time.