Got a bit of an architecture/style question here. I'm familiar with the use of the dependencyManagement block in a parent pom to fix versions of or otherwise configure a dependency. However, except for cases which need it (for example, when transitive dependencies are otherwise pulling in two versions of the same JAR) I typically don't put versions there, but instead in the pom where I'm declaring the dependency itself. I think this is pretty much SOP, if I'm not mistaken.
Now someone on my team has asked why we shouldn't put ALL versions in the parent POM (in dependencyManagement blocks, so as not to create additional dependencies). While my initial gut reaction is that's a bad idea (since dependency info would then be in at least two places) I thought I'd see if anyone else there has tried this and has any pros or cons around the practice. Thanks - Don