[ 
https://issues.apache.org/jira/browse/MNG-5761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887475#comment-17887475
 ] 

Christian Schulte commented on MNG-5761:
----------------------------------------

[~Didier Loiseau] Just do not invest any more time in things like that. It will 
not happen. I presented various ways  on how to introduce changes like that in 
a backwards compatible way. All of those got denied. It would have been easy to 
just make the model version an attribute to detect what resolution behaviour an 
author intended to be used. I tried to introduce 
<modelVersion>4.1.0</modelVersion> for this. It would have been perfectly fine 
for Maven to behave differently based on the model version declared in a POM. 
All of this got denied. You cannot do anything about it. There will be no model 
version 5.0.0 in the next decades. You seem to have started using Maven and 
seem to verify things are working as advertised. Very few users are doing that. 
They just configure theire POMs in a way it works for them, do not care about 
anything and will then start complaining if an updated version of Maven starts 
fixing bugs. There is no way out of this. One of the biggest mistakes in my 
life was using Maven. Full of bugs and inconsistent behaviour no one will ever 
take care of, just because of ignorance. Maven project management has blocked 
itself from any kind of progress. What I mean by this is, even Maven 10 would 
still keep inconsistencies introduced by Maven 2, just because users are to 
ignorant to notice they are relying on bugs in Maven Core or Resolver. Most of 
them do not even notice. Maven is broken by management, not by design - and it 
will stay that way for the lifetime of the project. Just don't bother filing 
issues. They will not get fixed.

> Dependency management is not transitive.
> ----------------------------------------
>
>                 Key: MNG-5761
>                 URL: https://issues.apache.org/jira/browse/MNG-5761
>             Project: Maven
>          Issue Type: Bug
>          Components: Dependencies
>    Affects Versions: 3.2.5
>            Reporter: Jeff Schnitzer
>            Priority: Critical
>             Fix For: 4.0.x-candidate
>
>         Attachments: MNG-5761.zip, depending-pom2.xml
>
>
> A detailed description of the issue is here:
> http://stackoverflow.com/questions/28312975/maven-dependencymanagement-version-ignored-in-transitive-dependencies
> The short of it is that maven appears to be using the wrong 
> <dependencyManagement> version in a transitive dependency.  There are two 
> relevant <dependencyManagement> sections in the build, one pulled in by guice 
> and one pulled in by gwizard-parent. These are the dependency paths from the 
> top:
> gwizard-example -> gwizard-config -> gwizard-parent
> gwizard-example -> gwizard-config -> guice -> guice-parent
> gwizard-parent's dependencyManagement specifies guava 18
> guice-parent's dependencyManagement specifies guava 16
> Guava 16 is winning. This seems highly undesirable, and in fact it breaks our 
> build. I would expect that in a version # fight, "closest to the top" should 
> win.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to