Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 3.0-beta-3
-
Fix Version/s: 3.0
-
Component/s: Dependencies
-
Labels:None
-
Environment:maven-3.0-beta-2 vs. maven-3.0-beta-3 (trunk)
-
Complexity:Intermediate
-
Testcase included:yes
-
Number of attachments :
Description
There is a small difference in dependency resolution behaviour from 3.0-beta-2 to 3.0-beta-3. I have a project with multiple interdependent modules.
module 2 -> module 1 -> thirdparty dep
Module 1 has a compile scope dependency on thirdparty dep. Module 2 has a test scope dependency on module 1. Using dependency management, in 3.0-beta-2 module 2 ended up with a test scope dependency on thirdparty. In 3.0-beta-3 module 2 ends up with a compile scope dependency. "mvn dependency:tree" reports a test scope in both cases, but with maven-3.0-beta-3 the thirdparty dep appears in the compile classpath.
Issue Links
- is related to
-
MNG-1895
Dependencies in two paths are not added to resolution when scope needs to be updated in the nearest due to any of nearest parents
-
-
MNG-4156
Local test scope shouldn't override transitive compile scope
-
- relates to
-
MNG-4800
Conflict resolution does not pick sub tree of nearest dependency if farther conflicting dependency has wider scope
-
This previous discussion also seems relevant:
http://maven.40175.n5.nabble.com/Transitive-and-inherited-dependencies-potential-bug-or-my-misunderstanding-of-the-mechanism-td119738.html#a119738