Definition - What does Maven mean?
Maven is a software project management and comprehension tool primarily used with Java-based projects but that can also be used to manage projects in other programming languages like C# and Ruby. Maven helps manage builds, documentation, reporting, dependencies, software configuration management (SCM), releases and distribution.
Many integrated development environments (IDEs) provide plug-ins or add-ons for Maven, thus enabling Maven to compile projects from within the IDE.
Techopedia explains Maven
Maven's key features include:
- A standard, easy way to build projects in which unnecessary details are hidden
- A uniform build system, where a standard strategy is followed when building any project
- Quality project information, such as dependency lists, cross referenced sources and unit test reports
- Dependency management, including automatic updating and dependency closures
- The ability to handle multiple projects simultaneously
- Dynamic downloading of necessary Java libraries and plug-ins from Maven repositories
Maven was created by Jason Van Zyl in 2002 as part of the Apache Turbine project. It became an Apache Software Foundation project in 2003. After that, several versions of Maven were released, including Maven v1.0, v2.0 and v3.0.
The fundamental unit in Maven is the project object model (POM), an XML file that includes information about the software project, configuration details that Maven uses in building this project, any dependencies on external components or modules and the build order. Maven's functionality also depends on plug-ins, which provide a set of goals that can be executed. In fact, all work is handled by plug-ins. There are numerous Maven plug-ins for building, testing, SCM, running a Web server, etc. Plug-ins are configured in the POM file, where some basic plug-ins are included by default.