The maven way of resolving situations like this is to include this. In this scenario if I run project A, Maven will correctly resolve the dependency to D. If I understand this Conflicts will exist when two versions
Click here of a transitive dependency are require.This is fundamentally not a maven issue, but a java issue.