Imperative Vs Declarative Build Tools
[!important]
An ant script tells the ant tool what to do - "compile these files and then copy them to that folder. Then take the contents of this folder and create an archive."
[!important]
While a maven pom declares what we would like to have as the result - "here are the names of the libraries the project depends upon, and we would like to generate a web archive". Maven knows how to fetch the libraries and where to find the source classes on it's own.
Imperative: Micro managing boss who tells how to do Declarative: Inspiring boss who tells what to do