[ https://issues.apache.org/jira/browse/MNG-6058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17497730#comment-17497730 ]
Elliotte Rusty Harold commented on MNG-6058: -------------------------------------------- The table on https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html suggests this is working as intended. If so, I think the intention should be revisited. test scope should not override compile scope like this. > Test dependencies should override application dependencies only during testing > ------------------------------------------------------------------------------ > > Key: MNG-6058 > URL: https://issues.apache.org/jira/browse/MNG-6058 > Project: Maven > Issue Type: Bug > Reporter: Christian Schulte > Priority: Critical > Attachments: MNG-6058.zip > > > The following graph > {code} > POM > |->a 2.0 compile > |-->b 2.0 compile > |->b 1.0 test > {code} > will be mediated to > {code} > POM > |->a 2.0 compile > |->b 1.0 test > {code} > The test dependency on b will make the transitive application dependency on b > disappear. Maven should understand that the application dependency on b in > version 2.0 is part of the application classpath and that the test > dependency on b in version 1.0 is part of the test classpath only (overriding > the application classpath). If someone adds a dependency on a project like > that, the test dependency will disappear because the test scope is not > transitive so that a "consuming" project gets a different application > classpath than the project itself. -- This message was sent by Atlassian Jira (v8.20.1#820001)