You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Curtis Rueden (JIRA)" <ji...@apache.org> on 2017/07/31 16:02:03 UTC
[jira] [Commented] (MNG-6141) Dependency management overrides are
not transitive and should be considered an anti-pattern.
[ https://issues.apache.org/jira/browse/MNG-6141?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16107495#comment-16107495 ]
Curtis Rueden commented on MNG-6141:
------------------------------------
I also ran into this issue, and posted [an MCVE gist|https://gist.github.com/ctrueden/d058330c8a3687317806ce8cc18332c3] illustrating it. In my view, if a library L believes it depends on component X at a particular version, projects depending on L should also inherit component X at that same version. See also [this SO post|https://stackoverflow.com/q/45041888/1207769].
> Dependency management overrides are not transitive and should be considered an anti-pattern.
> --------------------------------------------------------------------------------------------
>
> Key: MNG-6141
> URL: https://issues.apache.org/jira/browse/MNG-6141
> Project: Maven
> Issue Type: Bug
> Reporter: Christian Schulte
> Priority: Critical
> Attachments: MNG-6141.zip
>
>
> Overriding the dependency management in a module, the overridden value will not be preserved transitively. It makes no sense to be able to override the dependency management in a module if that is only effective in that module and nowhere else. Overriding the dependency management should be considered an anti-pattern. Maven should provide a warning when it is used. During the development of Maven 3.4, there have been quite a few discussions on dev@ about build issues which were all caused by overriding the dependency management without noticing this is not supported transitively.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)