Details
-
Bug
-
Status: Reopened
-
Major
-
Resolution: Unresolved
-
2.0
-
None
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
Attachments
Issue Links
- Blocked
-
MNG-2892 Use shade to hide the use of plexus-utils internally so that plugins can use their own version
- Closed
- is related to
-
MDEP-97 dependency:tree not consistent with maven core's dependency tree
- Closed
-
MNG-2192 Transitive dependency overrides version specified in POM
- Closed
-
MNG-3038 Transitive DepMan not working (per MNG-1577) [use case attached]
- Closed
- relates to
-
MNG-4457 dependency:resolve decides to take older (incompatible) version for transitive dep
- Closed
- mentioned in
-
Page Loading...