Available Plugins

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:

  • Build plugins will be executed during the build and they should be configured in the <build/> element from the POM.
  • Reporting plugins will be executed during the site generation and they should be configured in the <reporting/> element from the POM. Because the result of a Reporting plugin is part of the generated site, Reporting plugins should be both internationalized and localized. You can read more about the localization of our plugins and how you can help.

Supported By The Maven Project

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)

PluginType*VersionRelease DateDescriptionSource RepositoryIssue Tracking
Core pluginsPlugins corresponding to default core phases (ie. clean, compile). They may have multiple goals as well.
cleanB2.4.12010-05-12Clean up after the build.SVNJIRA
compilerB2.3.22010-09-09Compiles Java sources.SVNJIRA
deployB2.72011-08-24Deploy the built artifact to the remote repository.SVNJIRA
failsafeB2.122012-02-01Run the JUnit integration tests in an isolated classloader.SVNJIRA
installB2.3.12010-05-21Install the built artifact into the local repository.SVNJIRA
resourcesB2.52011-02-27Copy the resources to the output directory for including in the JAR.SVNJIRA
site for Maven 2B2.32011-05-23Generate a site for the current project.SVNJIRA
site for Maven 2 & 3B3.02011-08-02Generate a site for the current project.SVNJIRA
surefireB2.122012-02-01Run the JUnit unit tests in an isolated classloader.SVNJIRA
verifierB1.02010-01-30Useful for integration tests - verifies the existence of certain conditions.SVNJIRA
Packaging types / toolsThese plugins relate to packaging respective artifact types.
earB2.72012-01-16Generate an EAR from the current project.SVNJIRA
ejbB2.32010-09-18Build an EJB (and optional client) from the current project.SVNJIRA
jarB2.42012-02-01Build a JAR from the current project.SVNJIRA
rarB2.22007-02-28Build a RAR from the current project.SVNJIRA
warB2.22012-02-01Build a WAR from the current project.SVNJIRA
app-clientB1.02011-03-31Build a JavaEE application client from the current project.SVNJIRA
shadeB1.62012-03-18Build an Uber-JAR from the current project, including dependencies.SVNJIRA
Reporting pluginsPlugins which generate reports, are configured as reports in the POM and run under the site generation lifecycle.
changelogR2.22010-05-28Generate a list of recent changes from your SCM.SVNJIRA
changesB+R2.62011-06-22Generate a report from issue tracking or a change document.SVNJIRA
checkstyleB+R2.92012-02-12Generate a Checkstyle report.SVNJIRA
doapB1.12011-01-15Generate a Description of a Project (DOAP) file from a POM.SVNJIRA
docckB1.02008-11-16Documentation checker plugin.SVNJIRA
javadocB+R2.8.12012-01-23Generate Javadoc for the project.SVNJIRA
jxrR2.32011-07-17Generate a source cross reference.SVNJIRA
linkcheckR1.12010-11-13Generate a Linkcheck report of your project's documentation.SVNJIRA
pmdB+R2.72012-02-05Generate a PMD report.SVNJIRA
project-info-reportsR2.42011-05-19Generate standard project reports.SVNJIRA
surefire-reportR2.122012-02-01Generate a report based on the results of unit tests.SVNJIRA
ToolsThese are miscellaneous tools available through Maven by default.
antB2.32009-11-11Generate an Ant build file for the project.SVNJIRA
antrunB1.72011-11-01Run a set of ant tasks from a phase of the build.SVNJIRA
archetypeB2.22011-11-19Generate a skeleton project structure from an archetype.SVNJIRA
assemblyB2.32012-02-01Build an assembly (distribution) of sources and/or binaries.SVNJIRA
dependencyB+R2.42011-12-05Dependency manipulation (copy, unpack) and analysis.SVNJIRA
enforcerB1.0.12011-06-22Environmental constraint checking (Maven Version, JDK etc), User Custom Rule Execution.SVNJIRA
gpgB1.42011-08-24Create signatures for the artifacts and poms.SVNJIRA
helpB2.1.12010-03-26Get information about the working environment for the project.SVNJIRA
invokerB1.52009-10-26Run a set of Maven projects and verify the output.SVNJIRA
jarsignerB1.22009-09-30Signs or verifies project artifacts.SVNJIRA
oneB1.22007-09-12A plugin for interacting with legacy Maven 1.x repositories and builds.SVNJIRA
patchB1.1.12010-01-06Use the gnu patch tool to apply patch files to source code.SVNJIRA
pdfB1.12009-12-13Generate a PDF version of your project's documentation.SVNJIRA
pluginB+R2.92011-09-05Create a Maven plugin descriptor for any mojos found in the source tree, to include in the JAR.SVNJIRA
releaseB2.2.22011-12-16Release the current project - updating the POM and tagging in the SCM.SVNJIRA
reactorB1.02008-09-27Build a subset of interdependent projects in a reactorSVNJIRA
remote-resourcesB1.2.12011-06-18Copy remote resources to the output directory for inclusion in the artifact.SVNJIRA
repositoryB2.3.12010-07-21Plugin to help with repository-based tasks.SVNJIRA
scmB1.52011-03-31Generate a SCM for the current project.SVNJIRA
sourceB2.1.22010-05-21Build a JAR of sources for use in IDEs and distribution to the repository.SVNJIRA
stageB1.0-alpha-22009-07-14Assists with release staging and promotion.SVNJIRA
toolchainsB1.02009-11-01Allows to share configuration across plugins.SVNJIRA
IDEsPlugins that simplify integration with integrated developer environments.
eclipseB2.92012-02-14Generate an Eclipse project file for the current project.SVNJIRA
ideaB2.22008-08-08Create/update an IDEA workspace for the current project (individual modules are created as IDEA modules)SVNJIRA

* Build or Reporting plugin

There are also some sandbox plugins into our source repository.

Outside The Maven Land

At codehaus.org

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://repository.codehaus.org/, specifically the org/codehaus/mojo subfolder. Here are a few common ones:

Plugin (see complete list with version)Description
animal-snifferBuild signatures of APIs (JDK for example) and checks your classes against them.
build-helperAttach extra artifacts and source folders to build.
castorGenerate sources from an XSD using Castor.
clirrCompare binaries or sources for compatibility using Clirr
javaccGenerate sources from a JavaCC grammar.
jdependGenerate a report on code metrics using JDepend.
nativeCompiles C and C++ code with native compilers.
sqlExecutes SQL scripts from files or inline.
taglistGenerate a list of tasks based on tags in your code.
versionsManage versions of your project, its modules, dependencies and plugins.

At code.google.com

There are also many plug-ins available at the Google Code.

Misc

A number of other projects provide their own Maven plugins. This includes:

PluginMaintainerDescription
cargoCargo ProjectStart/stop/configure J2EE containers and deploy to them.
cloverAtlassian CloverGenerate a Clover report.
jaxmeApache Web Services ProjectUse the JaxMe JAXB implementation to generate Java sources from XML schema.
jettyJetty ProjectJetty Run a Jetty container for rapid webapp development.
jalopyTriemaxUse Jalopy to format your source code.
ratApache Incubator ProjectRelease Audit Tool (RAT) to verify files.
Genesis PluginsApache Geronimo ProjectVerify legal files in artifacts.