CPU

Apache Maven – build automation tool used primarily for Java projects

Apache Maven is a software project management and comprehension tool.

Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting and documentation from a central piece of information.

This is free and open source software.

Key Features

  • 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 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 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.

Website: maven.apache.org
Support:
Developer: The Apache Software Foundation
License: Apache License 2.0

Apache Maven is written in Java. Learn Java with our recommended free books and free tutorials.


Related Software

Build Systems
CargoRust package manager
gulpToolkit to automate & enhance your workflow
BazelBuild and test your multi-language, multi-platform projects
Apache MavenBuild automation tool used primarily for Java projects
GradleBuild tool with a focus on build automation and support for multi-language
MesonNext-generation build system
CMakeFamily of tools designed to build, test and package software
Buck2Encourages the creation of small, reusable modules
LeiningenAutomating Clojure projects
GruntJavaScript Task Runner
NinjaSmall build system with a focus on speed
xmakeCross-platform build utility based on Lua
SConsSoftware construction tool
PantsScalable build system for monorepos
PHingBuild system based on Apache Ant
Rakemake-like build utility for Ruby
Apache AntTool for automating software build processes
CabalCommon Architecture for Building Applications and Libraries

Read our verdict in the software roundup.

Alternatives to make
CMakeBuild system generator
SConsSoftware construction tool
MavenBuild automation tool used primarily for Java projects
PremakeSimple build configuration
NinjaSmall build system with a focus on speed
justSave and run project-specific commands
pdpmakePublic domain implementation of make which follows the POSIX standard

Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments