

With transitive dependencies, the graph of included libraries can quickly grow quite large. A problem arises only if a cyclic dependency is discovered. There is no limit to the number of levels that dependencies can be gathered from. In general, all dependencies of those projects are used in your project, as are any that the project inherits from its parents, or from its dependencies, and so on. This feature is facilitated by reading the project files of your dependencies from the remote repositories specified. Maven avoids the need to discover and specify the libraries that your own dependencies require by including transitive dependencies automatically.

Maven helps a great deal in defining, creating, and maintaining reproducible builds with well-defined classpaths and library versions. Managing dependencies for multi-module projects and applications that consist of hundreds of modules is possible. Managing dependencies for a single project is easy. Dependency management is a core feature of Maven.
