Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0
-
Fix Version/s: 2.0.6
-
Component/s: Artifacts and Repositories
-
Labels:None
-
Complexity:Intermediate
-
Number of attachments :
Description
The dependencyManagement does not work for transient dependencies. The specified version is ignored.
Use case:
Main POM defines commons-digester-1.6 and commons-beanutils-1.7.0, A-SNAPSHOT and B-SNAPSHOT
Project A is child of Main and depends directly on commons-beanutils (version inherited from Main)
Project B is child of Main and depends directly on commons-digester (version inherited from Main)
Project C is child of Main and depends directly on A & B (versions inherited from Main)
A is compiled and tests are run using commons-beanutils-1.7.0
B is compiled and tests are run using commons-digester-1.6 and commons-beanutils-1.6, since digester is dependend on this
C is compiled and tests are run using commons-beanutils-1.7.0
Integration tests of B did not verify, that B is behaving as expected in this scenario. B might fail with 1.7.0 and it is not even recognized.
If I add beanutils also as direct dependency to B, it works fine, but then are transitive dependency useless. It should be possible to define at least in the dependencyManagement, that the versions of transient dependencies also defined in the dependencyManagement have priority.
- Jörg
Attachments
Issue Links
| This issue relates to: | ||||
| MNG-4457 | dependency:resolve decides to take older (incompatible) version for transitive dep |
|
|
|
| This issue is related to: | ||||
| MNG-3038 | Transitive DepMan not working (per MNG-1577) [use case attached] |
|
|
|
| MNG-2192 | Transitive dependency overrides version specified in POM |
|
|
|
| MDEP-97 | dependency:tree not consistent with maven core's dependency tree |
|
|
|
I think we determined this wasn't the behaviour that would be used (depMgmt only applying to the current project and inheritence) - need to review and confirm then close as won't fix, or fix for 2.0.1 if I'm wrong.