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.1.0 | 2018-04-14 | Clean up after the build. | GIT / GitHub | JIRA |
compiler | B | 3.7.0 | 2017-09-04 | Compiles Java sources. | GIT / GitHub | JIRA |
deploy | B | 2.8.2 | 2014-08-27 | Deploy the built artifact to the remote repository. | GIT / GitHub | JIRA |
failsafe | B | 2.21.0 | 2018-03-06 | Run the JUnit integration tests in an isolated classloader. | GIT / GitHub | JIRA |
install | B | 2.5.2 | 2014-08-27 | Install the built artifact into the local repository. | GIT / GitHub | JIRA |
resources | B | 3.1.0 | 2018-04-23 | Copy the resources to the output directory for including in the JAR. | GIT / GitHub | JIRA |
site | B | 3.7.1 | 2018-04-27 | Generate a site for the current project. | GIT / GitHub | JIRA |
surefire | B | 2.21.0 | 2018-03-06 | Run the JUnit unit tests in an isolated classloader. | GIT / GitHub | JIRA |
verifier | B | 1.1 | 2015-04-14 | Useful for integration tests - verifies the existence of certain conditions. | GIT / GitHub | JIRA |
Packaging types/tools | These plugins relate to packaging respective artifact types. | |||||
ear | B | 3.0.0 | 2018-03-09 | Generate an EAR from the current project. | GIT / GitHub | JIRA |
ejb | B | 3.0.0 | 2017-08-13 | Build an EJB (and optional client) from the current project. | GIT / GitHub | JIRA |
jar | B | 3.1.0 | 2018-04-06 | Build a JAR from the current project. | GIT / GitHub | JIRA |
rar | B | 2.4 | 2014-09-08 | Build a RAR from the current project. | GIT / GitHub | JIRA |
war | B | 3.2.0 | 2017-09-30 | Build a WAR from the current project. | GIT / GitHub | JIRA |
app-client/acr | B | 3.0.0 | 2015-01-23 | Build a JavaEE application client from the current project. | GIT / GitHub | JIRA |
shade | B | 3.1.1 | 2018-04-02 | Build an Uber-JAR from the current project, including dependencies. | GIT / GitHub | JIRA |
source | B | 3.0.1 | 2016-06-18 | Build a source-JAR from the current project. | GIT / GitHub | JIRA |
jlink | B | 3.0.0-alpha-1 | 2017-09-09 | Build Java Run Time Image. | GIT / GitHub | JIRA |
jmod | B | 3.0.0-alpha-1 | 2017-09-17 | Build Java JMod files. | GIT / GitHub | 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. | GIT / GitHub | JIRA |
changes | B+R | 2.12.1 | 2016-11-01 | Generate a report from an issue tracker or a change document. | GIT / GitHub | JIRA |
checkstyle | B+R | 3.0.0 | 2018-01-07 | Generate a Checkstyle report. | GIT / GitHub | JIRA |
doap | B | 1.2 | 2015-03-17 | Generate a Description of a Project (DOAP) file from a POM. | GIT / GitHub | JIRA |
docck | B | 1.1 | 2015-04-03 | Documentation checker plugin. | GIT / GitHub | JIRA |
javadoc | B+R | 3.0.0 | 2017-12-06 | Generate Javadoc for the project. | GIT / GitHub | JIRA |
jdeps | B | 3.1.1 | 2018-02-28 | Run JDK's JDeps tool on the project. | GIT / GitHub | JIRA |
jxr | R | 2.5 | 2014-11-02 | Generate a source cross reference. | GIT / GitHub | JIRA |
linkcheck | R | 1.2 | 2014-10-08 | Generate a Linkcheck report of your project's documentation. | GIT / GitHub | JIRA |
pmd | B+R | 3.9.0 | 2018-01-21 | Generate a PMD report. | GIT / GitHub | JIRA |
project-info-reports | R | 2.9 | 2016-03-01 | Generate standard project reports. | GIT / GitHub | JIRA |
surefire-report | R | 2.21.0 | 2018-03-06 | Generate a report based on the results of unit tests. | GIT / GitHub | 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. | GIT / GitHub | JIRA |
antrun | B | 1.8 | 2014-12-26 | Run a set of ant tasks from a phase of the build. | GIT / GitHub | JIRA |
archetype | B | 3.0.1 | 2017-04-11 | Generate a skeleton project structure from an archetype. | GIT / GitHub | JIRA |
assembly | B | 3.1.0 | 2017-08-13 | Build an assembly (distribution) of sources and/or binaries. | GIT / GitHub | JIRA |
dependency | B+R | 3.1.0 | 2018-04-02 | Dependency manipulation (copy, unpack) and analysis. | GIT / GitHub | JIRA |
enforcer | B | 3.0.0-M1 | 2017-07-30 | Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution. | GIT / GitHub | JIRA |
gpg | B | 1.6 | 2015-01-19 | Create signatures for the artifacts and poms. | GIT / GitHub | JIRA |
help | B | 3.0.1 | 2018-03-27 | Get information about the working environment for the project. | GIT / GitHub | JIRA |
invoker | B+R | 3.0.1 | 2017-07-21 | Run a set of Maven projects and verify the output. | GIT / GitHub | JIRA |
jarsigner | B | 1.4 | 2015-01-21 | Signs or verifies project artifacts. | GIT / GitHub | JIRA |
jdeprscan | B | 3.0.0-alpha-1 | 2017-11-15 | Run JDK's JDeprScan tool on the project. | GIT / GitHub | JIRA |
patch | B | 1.2 | 2015-03-09 | Use the gnu patch tool to apply patch files to source code. | GIT / GitHub | JIRA |
B | 1.4 | 2017-12-28 | Generate a PDF version of your project's documentation. | GIT / GitHub | JIRA | |
plugin | B+R | 3.5.1 | 2018-01-22 | Create a Maven plugin descriptor for any mojos found in the source tree, to include in the JAR. | GIT / GitHub | JIRA |
release | B | 2.5.3 | 2015-10-17 | Release the current project - updating the POM and tagging in the SCM. | GIT / GitHub | JIRA |
remote-resources | B | 1.5 | 2013-08-14 | Copy remote resources to the output directory for inclusion in the artifact. | GIT / GitHub | JIRA |
repository | B | 2.4 | 2015-02-22 | Plugin to help with repository-based tasks. | GIT / GitHub | JIRA |
scm | B | 1.9.5 | 2016-07-01 | Execute SCM commands for the current project. | GIT / GitHub | JIRA |
scm-publish | B | 3.0.0 | 2018-01-29 | Publish your Maven website to a scm location. | GIT / GitHub | JIRA |
stage | B | 1.0 | 2015-03-03 | Assists with release staging and promotion. | GIT / GitHub | JIRA |
toolchains | B | 1.1 | 2014-11-12 | Allows to share configuration across plugins. | GIT / GitHub | 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). |
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. |
OWASP dependency-check | OWASP Dependency-check Project | Run OWASP Dependency-Check, a utility that identifies project dependencies and checks if there are any known, publicly disclosed, vulnerabilities.. |