Maven:
- Has its own structure of project layout.
- Maven has conventions. It knows where your source code is because you followed the convention.
- Maven has a lifecycle which was invoked when you executed mvn install. This command told Maven to execute a series of sequential lifecycle phases until it reached the install lifecycle phase.
- Dependency Management and Versioned artifact support.
- Maven is a build system
Ant:
- The definition of project layout is your responsibility.
- Ant doesn’t have formal conventions like a common project directory structure or default behavior.
- Ant doesn’t have a lifecycle. You have to define goals and goal dependencies. You have to attach a sequence of tasks to each goal manually.
- Ant is a build tool.