Ant and maven both are build tools.They both can be used for compile, pulling dependence from repository and for creating war or ear files. Both are provided by the Apache.
Ant is a tool and it doesn't have formal conventions. If you are using Ant then you have to tell what to do in XML files therefore it can't be used in different types of project setup.
Maven is framework and it can also act as a dependency management tool. It is declarative build tool so everything we can define in the pom.xml.
|1||Basic||Maven is a build automation framework based on the concept of a project object model(pom)||Ant is a Java library and command line tool whose can be used to compile your code, fetching dependencies and for packaging|
|2||Tool/Framework||It is framework||It is a tool box.|
|3||Lifecycle||It has lifecycle.||It has no lifecycle . In ant each task is independent and we'll defined|
|4.||Declarative/Procedural||It is declarative||It is procedural|