Overview
Dependency management is one of the most the important features of any build tool. It helps to manage software dependencies in a better way. If you are using
Ant, which initially did not support any dependency management, you need to write the name of each and every dependent jar file and its location to build.xml
. For small applications that do not have many dependencies, this approach might work well. However, for enterprise applications, where software depends on hundreds of other libraries, which internally can depend on some other libraries (transitive dependencies), this approach of configuring each and every jar file in your build.xml
could work but it requires huge effort to maintain it. Also, managing their version conflicts would be really a big pain for any developer and could turn the build process into a nightmare. To resolve these drawbacks in Ant, Maven came with an internal dependency management solution.
Later, Ant also integrated with Apache Ivy (a dependency...