What Maven offers:
– An easy way to do a multi-project build
– A central place for shared jar files across projects
– Enforces standard directory structure
– An easy way to create project reports (Javadoc, PMD messages, etc)
– And many other features
In Ant, the philosophy is that the build.xml configuration file defines what should be done. In Maven, the philosophy is not to have any configuration files, or least have very small config files. So, all the work is done behind the scenes. In order to do this, all the files must reside in predefined directories.
In Ant, the build file contains targets (“ant {target}”). In Maven, they contain plugins and goals (“maven {plugin}:{goal}”). A plugin is a Jelly/Java plugin module that gets called. If no goal is specified, it will use the name of the plugin as the goal.
Maven makes tasks easier to do. To do a clean, just execute, “maven clean”. It does not reference any config files to know what to clean. To do build a war file, “maven war”. Again, no config files necessary.
Links:
Maven Home
Maven Documentation
Maven Plugins
Maven Wiki
Maven Blogs
Maven Book
Articles:
Building J2EE Projects with Maven
Apache Maven Simplifies the Java Build Process
Maven: Trove of Tips
Java, Maven, and Your Web Development Project
Using Maven to Manage Your Projects