Apache Maven logo

Apache Maven

Apache Maven is a software project management and comprehension tool based on the concept of a project object model (POM). It provides a uniform build system, dependency management, project lifecycle, and a comprehensive plugin ecosystem for Java projects. Maven 4 is the current major version with the Maven Daemon for faster builds.

2 APIs 10 Features
Build ToolDependency ManagementJavaProject ManagementMaven

APIs

Apache Maven Core

Maven provides a Java API for programmatic build execution, a Plugin API (Mojo) for extending build capabilities, a Repository API for artifact management via Maven Artifact Res...

Maven Central Repository API

The Maven Central Repository (search.maven.org and central.sonatype.com) hosts millions of Java artifacts and provides a REST API and web interface for searching, browsing, and ...

Features

Project Object Model (POM)

XML-based project descriptor that defines dependencies, build configuration, plugins, and project metadata in a declarative format.

Dependency Management

Automatic resolution and downloading of project dependencies and transitive dependencies from Maven Central and other repositories.

Build Lifecycle

Standardized build lifecycle with phases including validate, compile, test, package, verify, install, and deploy.

Plugin Architecture

Extensible plugin system (Mojo API) with hundreds of official and third-party plugins for code generation, testing, packaging, and deployment.

Maven Daemon (mvnd)

Persistent daemon process that dramatically reduces build startup time by keeping the JVM and Maven warm between builds.

Maven Wrapper

Ensures consistent Maven version usage across a project team without requiring separate Maven installation.

Artifact Resolver

Maven Artifact Resolver library provides programmatic API for artifact resolution, download, and local repository management.

Multi-Module Projects

Support for building complex multi-module projects with inter-module dependency management and coordinated releases.

Maven 4

Latest major version with improved APIs, better performance, consumer POM support, and the Maven Upgrade Tool for migration.

Central Repository Publishing

Streamlined artifact publishing to Maven Central via Sonatype's publishing portal with automated checks.

Use Cases

Java Project Build Automation

Automate compilation, testing, packaging, and deployment of Java projects with standardized build lifecycles.

Dependency Management

Declare and automatically resolve project dependencies including transitive dependencies from Maven Central.

CI/CD Pipeline Integration

Integrate Maven builds into CI/CD pipelines with reproducible builds via the Maven Wrapper and build cache extension.

Multi-Module Enterprise Builds

Manage complex enterprise Java projects with dozens of interdependent modules and shared dependency management.

Artifact Publishing

Publish Java libraries and applications to Maven Central or private artifact repositories for team and public consumption.

Plugin Development

Develop custom Maven plugins using the Mojo API to extend build capabilities for specialized project needs.

Integrations

IntelliJ IDEA

Native Maven project support with POM editing, dependency management, and Maven tool window.

Eclipse

Maven integration via the m2e plugin for POM-based project management within Eclipse IDE.

Jenkins

Jenkins Maven plugin for triggering and monitoring Maven builds in CI/CD pipelines.

GitHub Actions

Official GitHub Actions for caching Maven dependencies and running Maven builds in workflows.

Sonatype Nexus

Enterprise artifact repository manager fully compatible with Maven for hosting private artifact repositories.

JFrog Artifactory

Enterprise artifact repository with full Maven repository protocol support and build integration.

Apache Tomcat

Tomcat Maven Plugin enables deploying web applications to Apache Tomcat directly from Maven builds.

GraalVM

Maven plugins for building native images from Java applications using GraalVM Native Image.

Resources

🌐
Portal
Portal
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
👥
GitHubRepository
GitHubRepository
🔗
Wiki
Wiki
🔗
IssueTracker
IssueTracker
🔗
MailingList
MailingList
📰
Blog
Blog
📜
TermsOfService
TermsOfService