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

Reply via email to