Hi, I feel a bit uncomfortable with using the classes in transitive dependencies. For example, my project A depends on other project B, and project B depends on project C. When I directly use the classes of projects C in my project A, I expected that Maven would throw a warning on it, since project B may someday remove or update the version of the dependency of project C. However, it complains nothing. It makes me wonder what's Maven's recommendation for such scenario. After reading the tutorial on https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html, I still couldn't find out what Maven suggests.
When I use a class in my project, is it a better practice to specify the project containing the class as a direct dependency, or just let the transitive dependency do its job? What's the catch? Thanks! Best, John Lin
