|  | ------ | 
|  | Maven Features | 
|  | ------ | 
|  | Jason van Zyl | 
|  | ------ | 
|  | 2005-10-12 | 
|  | ------ | 
|  |  | 
|  | ~~ Licensed to the Apache Software Foundation (ASF) under one | 
|  | ~~ or more contributor license agreements.  See the NOTICE file | 
|  | ~~ distributed with this work for additional information | 
|  | ~~ regarding copyright ownership.  The ASF licenses this file | 
|  | ~~ to you under the Apache License, Version 2.0 (the | 
|  | ~~ "License"); you may not use this file except in compliance | 
|  | ~~ with the License.  You may obtain a copy of the License at | 
|  | ~~ | 
|  | ~~   http://www.apache.org/licenses/LICENSE-2.0 | 
|  | ~~ | 
|  | ~~ Unless required by applicable law or agreed to in writing, | 
|  | ~~ software distributed under the License is distributed on an | 
|  | ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | ~~ KIND, either express or implied.  See the License for the | 
|  | ~~ specific language governing permissions and limitations | 
|  | ~~ under the License. | 
|  |  | 
|  | ~~ NOTE: For help with the syntax of this file, see: | 
|  | ~~ https://maven.apache.org/doxia/references/apt-format.html | 
|  |  | 
|  | Feature Summary | 
|  |  | 
|  | The following are the key features of Maven in a nutshell: | 
|  |  | 
|  | * Simple project setup that follows best practices - get a new project or module started in seconds | 
|  |  | 
|  | * Consistent usage across all projects - means no ramp up time for new developers coming onto a project | 
|  |  | 
|  | * Superior dependency management including automatic updating, dependency closures (also known as transitive dependencies) | 
|  |  | 
|  | * Able to easily work with multiple projects at the same time | 
|  |  | 
|  | * A {{{/repository/}large and growing repository of libraries and metadata}} to use out of the box, and arrangements in place with the largest Open Source projects for | 
|  | real-time availability of their latest releases | 
|  |  | 
|  | * Extensible, with the ability to easily {{{/plugin-developers/}write plugins}} in Java or scripting languages | 
|  |  | 
|  | * Instant access to new features with little or no extra configuration | 
|  |  | 
|  | * Ant tasks for dependency management and deployment outside of Maven | 
|  |  | 
|  | * Model based builds: | 
|  | Maven is able to build any number of projects into predefined output types | 
|  | such as a JAR, WAR, or distribution based on metadata about the project, without | 
|  | the need to do any scripting in most cases. | 
|  |  | 
|  | * Coherent site of project information: | 
|  | Using the same metadata as for the build process, Maven is able to generate a | 
|  | web site or PDF including any documentation you care to add, and adds to that | 
|  | standard reports about the state of development of the project. | 
|  | Examples of this information can be seen at the bottom of the left-hand navigation of | 
|  | this site under the "Project Information" and "Project Reports" submenus. | 
|  |  | 
|  | * Release management and distribution publication: | 
|  | Without much additional configuration, Maven will integrate with your source control | 
|  | system (such as Subversion or Git) and manage the release of a project based on a certain tag. | 
|  | It can also publish this to a distribution location for use by other projects. | 
|  | Maven is able to publish individual outputs such as a JAR, an archive including other | 
|  | dependencies and documentation, or as a source distribution. | 
|  |  | 
|  | * Dependency management: | 
|  | Maven encourages the use of a central repository of JARs and other dependencies. Maven | 
|  | comes with a mechanism that your project's clients can use to | 
|  | download any JARs required for building your project from a | 
|  | central JAR repository much like Perl's CPAN. This allows users | 
|  | of Maven to reuse JARs across projects and encourages communication | 
|  | between projects to ensure that backward compatibility issues are | 
|  | dealt with. | 
|  |  | 
|  | [] | 
|  |  | 
|  | ~~ this needs to be greatly expanded and is too detailed here ... jvz |