What's Apache Ant, Apache Maven, What's the Difference?
What is the difference between Apache Ant and Maven?
Both are for compiling/building Java software.
Apache Ant is like unix
make, but using XML as build file (named
build.xml). You have to tell it exactly what to do, like, source dir, target dir, make dir, delete dir, compile this file, etc.
Apache Maven is more modern. It also uses XML as config file (named
pom.xml). By default it assumes a common project directory structure by convention.
Ant is much simpler. Maven is a framework.
What's Apache Ant?
Apache Ant is a software tool for automating software build processes. It is similar to Make but is implemented using the Java language, requires the Java platform, and is best suited to building Java projects.
The most immediately noticeable difference between Ant and Make is that Ant uses XML to describe the build process and its dependencies, whereas Make uses Makefile format. By default the XML file is named build.xml.
from Wikipedia Apache Ant
Apache Ant home page at http://ant.apache.org/
What's Apache Maven?
Maven is a build automation tool used primarily for Java projects. Maven addresses two aspects of building software: First, it describes how software is built, and second, it describes its dependencies. Contrary to preceding tools like Apache Ant it uses conventions for the build procedure, and only exceptions need to be written down. An XML file describes the software project being built, its dependencies on other external modules and components, the build order, directories, and required plug-ins. It comes with predefined targets for performing certain well-defined tasks such as compilation of code and its packaging. Maven dynamically downloads Java libraries and Maven plug-ins from one or more repositories such as the Maven 2 Central Repository, and stores them in a local cache. This local cache of downloaded artifacts can also be updated with artifacts created by local projects. Public repositories can also be updated.
from Wikipedia Apache Maven