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 at http://repo.maven.apache.org/maven2/, 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 | 2.5 | 2012-05-26 | Clean up after the build. | SVN | JIRA |
| compiler | B | 2.5.1 | 2012-06-04 | Compiles Java sources. | SVN | JIRA |
| deploy | B | 2.7 | 2011-08-24 | Deploy the built artifact to the remote repository. | SVN | JIRA |
| failsafe | B | 2.12.4 | 2012-09-27 | Run the JUnit integration tests in an isolated classloader. | GIT | JIRA |
| install | B | 2.4 | 2012-09-06 | Install the built artifact into the local repository. | SVN | JIRA |
| resources | B | 2.6 | 2012-08-18 | Copy the resources to the output directory for including in the JAR. | SVN | JIRA |
| site for Maven 2 | B | 2.4 | 2012-04-26 | Generate a site for the current project. | SVN | JIRA |
| site for Maven 2 & 3 | B | 3.2 | 2012-10-14 | Generate a site for the current project. | SVN | JIRA |
| surefire | B | 2.12.4 | 2012-09-27 | Run the JUnit unit tests in an isolated classloader. | GIT | JIRA |
| verifier | B | 1.0 | 2010-01-30 | 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.8 | 2012-09-03 | Generate an EAR from the current project. | SVN | JIRA |
| ejb | B | 2.3 | 2010-09-18 | Build an EJB (and optional client) from the current project. | SVN | JIRA |
| jar | B | 2.4 | 2012-02-01 | Build a JAR from the current project. | SVN | JIRA |
| rar | B | 2.2 | 2007-02-28 | Build a RAR from the current project. | SVN | JIRA |
| war | B | 2.3 | 2012-10-01 | Build a WAR from the current project. | SVN | JIRA |
| app-client | B | 1.0 | 2011-03-31 | Build a JavaEE application client from the current project. | SVN | JIRA |
| shade | B | 2.0 | 2012-09-06 | Build an Uber-JAR from the current project, including dependencies. | 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.2 | 2010-05-28 | Generate a list of recent changes from your SCM. | SVN | JIRA |
| changes | B+R | 2.8 | 2012-09-14 | Generate a report from an issue tracker or a change document. | SVN | JIRA |
| checkstyle | B+R | 2.9.1 | 2012-02-25 | Generate a Checkstyle report. | SVN | JIRA |
| doap | B | 1.1 | 2011-01-15 | Generate a Description of a Project (DOAP) file from a POM. | SVN | JIRA |
| docck | B | 1.0 | 2008-11-16 | Documentation checker plugin. | SVN | JIRA |
| javadoc | B+R | 2.9 | 2012-09-18 | Generate Javadoc for the project. | SVN | JIRA |
| jxr | R | 2.3 | 2011-07-17 | Generate a source cross reference. | SVN | JIRA |
| linkcheck | R | 1.1 | 2010-11-13 | Generate a Linkcheck report of your project's documentation. | SVN | JIRA |
| pmd | B+R | 2.7.1 | 2012-02-16 | Generate a PMD report. | SVN | JIRA |
| project-info-reports | R | 2.5.1 | 2012-08-30 | Generate standard project reports. | SVN | JIRA |
| surefire-report | R | 2.12.4 | 2012-09-27 | 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.3 | 2009-11-11 | Generate an Ant build file for the project. | SVN | JIRA |
| antrun | B | 1.7 | 2011-11-01 | Run a set of ant tasks from a phase of the build. | SVN | JIRA |
| archetype | B | 2.2 | 2011-11-19 | Generate a skeleton project structure from an archetype. | SVN | JIRA |
| assembly | B | 2.3 | 2012-02-01 | Build an assembly (distribution) of sources and/or binaries. | SVN | JIRA |
| dependency | B+R | 2.5.1 | 2012-08-27 | Dependency manipulation (copy, unpack) and analysis. | SVN | JIRA |
| enforcer | B | 1.1.1 | 2012-07-16 | Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution. | SVN | JIRA |
| gpg | B | 1.4 | 2011-08-24 | Create signatures for the artifacts and poms. | SVN | JIRA |
| help | B | 2.1.1 | 2010-03-26 | Get information about the working environment for the project. | SVN | JIRA |
| invoker | B+R | 1.7 | 2012-08-13 | Run a set of Maven projects and verify the output. | SVN | JIRA |
| jarsigner | B | 1.2 | 2009-09-30 | Signs or verifies project artifacts. | SVN | JIRA |
| one | B | 1.2 | 2007-09-12 | A plugin for interacting with legacy Maven 1.x repositories and builds. | SVN | JIRA |
| patch | B | 1.1.1 | 2010-01-06 | Use the gnu patch tool to apply patch files to source code. | SVN | JIRA |
| B | 1.1 | 2009-12-13 | Generate a PDF version of your project's documentation. | SVN | JIRA | |
| plugin | B+R | 3.1 | 2012-07-03 | Create a Maven plugin descriptor for any mojos found in the source tree, to include in the JAR. | SVN | JIRA |
| release | B | 2.3.2 | 2012-06-15 | Release the current project - updating the POM and tagging in the SCM. | SVN | JIRA |
| reactor | B | 1.0 | 2008-09-27 | Build a subset of interdependent projects in a reactor | SVN | JIRA |
| remote-resources | B | 1.4 | 2012-10-28 | Copy remote resources to the output directory for inclusion in the artifact. | SVN | JIRA |
| repository | B | 2.3.1 | 2010-07-21 | Plugin to help with repository-based tasks. | SVN | JIRA |
| scm | B | 1.8 | 2012-09-08 | Generate a SCM for the current project. | GIT | JIRA |
| scm-publish | B | 1.0-beta-1 | 2012-09-14 | Publish your Maven website to a scm location. | SVN | JIRA |
| source | B | 2.2.1 | 2012-10-13 | Build a JAR of sources for use in IDEs and distribution to the repository. | SVN | JIRA |
| stage | B | 1.0-alpha-2 | 2009-07-14 | Assists with release staging and promotion. | SVN | JIRA |
| toolchains | B | 1.0 | 2009-11-01 | Allows to share configuration across plugins. | SVN | JIRA |
| IDEs | Plugins that simplify integration with integrated developer environments. | |||||
| eclipse | B | 2.9 | 2012-02-14 | Generate an Eclipse project file for the current project. | SVN | JIRA |
| idea | B | 2.2 | 2008-08-08 | Create/update an IDEA workspace for the current project (individual modules are created as IDEA modules) | SVN | JIRA |
* Build or Reporting plugin
There are also some sandbox plugins into our source repository.
There are also many plug-ins available at the Mojo project at Codehaus.
To see the most up-to-date list, browse the Codehaus repository at http://nexus.codehaus.org/, specifically the org/codehaus/mojo subfolder of the releases-repository. 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. |
| 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. |