Spring boot provides many starter dependencies like spring-boot-starter, spring-boot-starter-batch, spring-boot-starter-test and many more. These dependencies include a lot of other transitive dependencies. So far, I was using these starter dependencies consitently in the project. Only where there was no starter dependency for a library, I included the concrete dependency.
Recently passed a colleague and said he did not want to integrate all these starter dependencies into the project. He had much rather control over the specific dependencies to be included and so you can ensure that only dependencies are on build and classpath that are actually needed.
I think that's the wrong approach, right? Are there any disadvantages of having dependencies on the classpath (e.g. hamcrest) that are not really needed?