Maven is - at its heart - a plugin execution framework; all work is done by plugins. Looking for a specific goal to execute? This page lists the core plugins and others. There are the build and the reporting plugins:
To see the most up-to-date list browse the Maven repository, specifically the org/apache/maven/plugins subfolder. (Plugins are organized according to a directory structure that resembles the standard Java package naming convention)
Plugin | Type* | Version | Release Date | Description | Source Repository | Issue Tracking |
---|---|---|---|---|---|---|
Core plugins | Plugins corresponding to default core phases (ie. clean, compile). They may have multiple goals as well. | |||||
clean | B | 3.0.0 | 2015-10-22 | Clean up after the build. | SVN | JIRA |
compiler | B | 3.6.1 | 2017-01-16 | Compiles Java sources. | SVN | JIRA |
deploy | B | 2.8.2 | 2014-08-27 | Deploy the built artifact to the remote repository. | SVN | JIRA |
failsafe | B | 2.19.1 | 2016-01-03 | Run the JUnit integration tests in an isolated classloader. | GIT | JIRA |
install | B | 2.5.2 | 2014-08-27 | Install the built artifact into the local repository. | SVN | JIRA |
resources | B | 3.0.2 | 2016-12-10 | Copy the resources to the output directory for including in the JAR. | SVN | JIRA |
site | B | 3.6 | 2016-11-17 | Generate a site for the current project. | SVN | JIRA |
surefire | B | 2.19.1 | 2016-01-03 | Run the JUnit unit tests in an isolated classloader. | GIT | JIRA |
verifier | B | 1.1 | 2015-04-14 | Useful for integration tests - verifies the existence of certain conditions. | SVN | JIRA |
Packaging types/tools | These plugins relate to packaging respective artifact types. | |||||
ear | B | 2.10.1 | 2015-06-27 | Generate an EAR from the current project. | SVN | JIRA |
ejb | B | 2.5.1 | 2015-06-20 | Build an EJB (and optional client) from the current project. | SVN | JIRA |
jar | B | 3.0.2 | 2016-06-18 | Build a JAR from the current project. | SVN | JIRA |
rar | B | 2.4 | 2014-09-08 | Build a RAR from the current project. | SVN | JIRA |
war | B | 3.0.0 | 2016-08-24 | Build a WAR from the current project. | SVN | JIRA |
app-client/acr | B | 3.0.0 | 2015-01-23 | Build a JavaEE application client from the current project. | SVN | JIRA |
shade | B | 3.0.0 | 2017-01-27 | Build an Uber-JAR from the current project, including dependencies. | SVN | JIRA |
source | B | 3.0.1 | 2016-06-18 | Build a source-JAR from the current project. | SVN | JIRA |
Reporting plugins | Plugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle. | |||||
changelog | R | 2.3 | 2014-06-24 | Generate a list of recent changes from your SCM. | SVN | JIRA |
changes | B+R | 2.12.1 | 2016-11-01 | Generate a report from an issue tracker or a change document. | SVN | JIRA |
checkstyle | B+R | 2.17 | 2015-10-15 | Generate a Checkstyle report. | SVN | JIRA |
doap | B | 1.2 | 2015-03-17 | Generate a Description of a Project (DOAP) file from a POM. | SVN | JIRA |
docck | B | 1.1 | 2015-04-03 | Documentation checker plugin. | SVN | JIRA |
javadoc | B+R | 2.10.4 | 2016-06-10 | Generate Javadoc for the project. | SVN | JIRA |
jdeps | B | 3.0.0 | 2015-10-29 | Run JDK's JDeps tool on the project. | SVN | JIRA |
jxr | R | 2.5 | 2014-11-02 | Generate a source cross reference. | SVN | JIRA |
linkcheck | R | 1.2 | 2014-10-08 | Generate a Linkcheck report of your project's documentation. | SVN | JIRA |
pmd | B+R | 3.7 | 2016-10-08 | Generate a PMD report. | SVN | JIRA |
project-info-reports | R | 2.9 | 2016-03-01 | Generate standard project reports. | SVN | JIRA |
surefire-report | R | 2.19.1 | 2016-01-03 | Generate a report based on the results of unit tests. | GIT | JIRA |
Tools | These are miscellaneous tools available through Maven by default. | |||||
ant | B | 2.4 | 2014-12-15 | Generate an Ant build file for the project. | SVN | JIRA |
antrun | B | 1.8 | 2014-12-26 | Run a set of ant tasks from a phase of the build. | SVN | JIRA |
archetype | B | 3.0.0 | 2017-02-12 | Generate a skeleton project structure from an archetype. | GIT | JIRA |
assembly | B | 3.0.0 | 2016-11-12 | Build an assembly (distribution) of sources and/or binaries. | SVN | JIRA |
dependency | B+R | 3.0.0 | 2016-12-12 | Dependency manipulation (copy, unpack) and analysis. | SVN | JIRA |
enforcer | B | 1.4.1 | 2015-08-23 | Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution. | SVN | JIRA |
gpg | B | 1.6 | 2015-01-19 | Create signatures for the artifacts and poms. | SVN | JIRA |
help | B | 2.2 | 2013-02-23 | Get information about the working environment for the project. | SVN | JIRA |
invoker | B+R | 2.0.0 | 2015-06-27 | Run a set of Maven projects and verify the output. | SVN | JIRA |
jarsigner | B | 1.4 | 2015-01-21 | Signs or verifies project artifacts. | SVN | JIRA |
patch | B | 1.2 | 2015-03-09 | Use the gnu patch tool to apply patch files to source code. | SVN | JIRA |
B | 1.3 | 2015-02-16 | Generate a PDF version of your project's documentation. | SVN | JIRA | |
plugin | B+R | 3.5 | 2016-08-30 | Create a Maven plugin descriptor for any mojos found in the source tree, to include in the JAR. | SVN | JIRA |
release | B | 2.5.3 | 2015-10-17 | Release the current project - updating the POM and tagging in the SCM. | SVN | JIRA |
remote-resources | B | 1.5 | 2013-08-14 | Copy remote resources to the output directory for inclusion in the artifact. | SVN | JIRA |
repository | B | 2.4 | 2015-02-22 | Plugin to help with repository-based tasks. | SVN | JIRA |
scm | B | 1.9.5 | 2016-07-01 | Execute SCM commands for the current project. | GIT | JIRA |
scm-publish | B | 1.1 | 2014-05-18 | Publish your Maven website to a scm location. | SVN | JIRA |
stage | B | 1.0 | 2015-03-03 | Assists with release staging and promotion. | SVN | JIRA |
toolchains | B | 1.1 | 2014-11-12 | Allows to share configuration across plugins. | SVN | JIRA |
* Build or Reporting plugin
There are also some sandbox plugins into our source repository.
Previous archived versions of plugins reference documentations are located here.
Plugin | Type* | Version | Retired Date | Description |
---|---|---|---|---|
eclipse | B | 2.10 | 2015-10-07 | Generate an Eclipse project files for the current project. |
idea | B | 2.2.1 | 2013-07-26 | Create/update an IDEA workspace for the current project (individual modules are created as IDEA modules) |
one | B | 1.3 | 2013-07-30 | A plugin for interacting with legacy Maven 1.x repositories and builds. |
reactor | B | 1.1 | 2014-03-24 | Build a subset of interdependent projects in a reactor (Maven 2 only). |
Due to the shutdown of codehaus.org all plugins are under transition to the new location. This means that currently some of the links might be invalid. We are continiously cleaning up the links.
There are also many plug-ins available at the MojoHaus project at GitHub.
Here are a few common ones:
Plugin (see complete list with version) | Description |
---|---|
animal-sniffer | Build signatures of APIs (JDK for example) and checks your classes against them. |
build-helper | Attach extra artifacts and source folders to build. |
castor | Generate sources from an XSD using Castor. |
clirr | Compare binaries or sources for compatibility using Clirr |
javacc | Generate sources from a JavaCC grammar. |
jdepend | Generate a report on code metrics using JDepend. |
nar-maven-plugin | Compiles C, C++, Fortran for different architectures. |
native | Compiles C and C++ code with native compilers. |
sql | Executes SQL scripts from files or inline. |
taglist | Generate a list of tasks based on tags in your code. |
versions | Manage versions of your project, its modules, dependencies and plugins. |
There are also many plug-ins available at the Google Code.
A number of other projects provide their own Maven plugins. This includes:
Plugin | Maintainer | Description |
---|---|---|
cargo | Cargo Project | Start/stop/configure J2EE containers and deploy to them. |
clover | Atlassian Clover | Generate a Clover report. |
jetty | Jetty Project | Jetty Run a Jetty container for rapid webapp development. |
jalopy | Triemax | Use Jalopy to format your source code. |
rat | Apache Creadur Project | Release Audit Tool (RAT) to verify files. |
Genesis Plugins | Apache Geronimo Project | Verify legal files in artifacts. |
Apache Tomcat | Apache Tomcat Project | Run an Apache Tomcat container for rapid webapp development. |