Maven is a build system that provides software project management and comprehension. Based on the concept of a project object model (POM), Maven manages a project's build, reporting and documentation from a central place.
Maven 2.0 is a rewrite of the popular Maven application, designed to both address previous functional requirements and provide a stable platform for extending and enhancing its build management framework.
This release is significantly faster and smaller than Maven 1.0 and includes the following usability and performance improvements:
- Enhanced Dependency Management - includes dependency closures (transitive dependencies), version ranges, automatic build numbering, and automatic updating on a configurable interval
- Defined Build Lifecycle - developers can build any type of project using standard commands such as compile, test and install
- Unified Project Definition - manages all required build information in a single POM now, including project information, dependencies and plugin configuration
- Extended Plugin Architecture - supports Java and scripting languages such as Beanshell for plugin development
- Better Repository Support - includes separated snapshot repositories, a new more managable layout and per-project definitions of new repositories
- Expanded Reactor Operation - offers built-in support for multiple projects (without the need to perform a full install cycle to compile all projects) and support for project aggregation
- New Site Management Tools - supports multiple input and output formats, with input formats including wiki-like APT format and docbook, while continuing to support traditional Maven XDoc and FAQ format.
- New Reporting API - offers a standardised method for producing project information and reports
See the plugin matrix for more information on particular plugins.
Maven's advanced dependency management features rely on project metadata. If you are interested in improving support for the users of your project, see http://maven.apache.org/maven2/project-faq.html
The Maven team would like to express thanks to the user and developer community for their beta testing, feedback and contributions that helped make the release possible!
To get started with Maven now, see the getting started guide at http://maven.apache.org/maven2/guides/getting-started/index.html