Maven will also silently choose different minor and major versions, destroying your application. Sometimes at compile time, sometimes at runtime.
Java dependency management is unhinged, antiquated garbage to anyone who has used any other ecosystem.
Java dependency management is unhinged, antiquated garbage to anyone who has used any other ecosystem.
Maven and Gradle make up the vast majority of all Java projects in the wild today. So, effectively, Maven is Java in terms of dependency management.
It's not the exact same issue because Gradle and Maven have different conflict resolution:
Maven dependency conflict resolution works with a shortest path, which is impacted by declaration ordering. Gradle does full conflict resolution, selecting the highest version of a dependency found in the graph.