Rain Tüür wrote:Thank you for answering
These conflicting transitive dependencies sure do look like a annoying problem.
Tim Holloway wrote:The only cure is to start back-leveling dependencies until you find a mutally agreeable set. And hope that there is one!
Rain Tüür wrote:For example, this sure did fix the duplicate jackson-annotations problem but at same time also induced even further problems.
Stephan van Hulst wrote:In general, you want to avoid conflicting versions, because then it is up to Maven to decide which version to use, which is not always what you want. I think the best way to do this is not to reference dependencies in your project if they are already transitive dependencies through other dependencies.
the output from mvn dependency:tree can differ from the actual dependency tree used by Maven itself to derive the classpaths of a project
Stephan van Hulst wrote:Personally I'm not a big fan of that approach because it blurs the lines between direct dependencies and transitive dependencies. If my project doesn't directly depend on a certain library, I don't want to reference it directly. People tend to forget why a certain library is needed, and over time unneeded dependencies accumulate.
Tim Holloway wrote:Who says we don't agree on anything?