The goal name for the Mojo, that users will
reference from the command line to execute the Mojo
or inside a POM in order to provide
The description of this Mojo's functionality.
The Mojo's fully-qualified class name (or script
path in the case of non-Java Mojos).
The implementation language for this Mojo (java, beanshell,
Defines a default phase to bind a mojo execution
to if the user does not explicitly set a phase in the POM.
Note: This will not automagically make a
mojo run when the plugin declaration is added
to the POM. It merely enables the user to omit
<phase> element from the
Reference the invocation phase of the Mojo.
Reference the invocation goal of the Mojo.
Flags this Mojo as requiring the dependencies in
the specified class path to be resolved before it can
compile+runtime (since Maven 3.0)
runtime+system (since Maven 3.0)
Flags this mojo as requiring information about
the dependencies that would make up the specified class
path. As the name suggests, this is similar to
requiresDependencyResolution and supports the same values.
The important difference is this will not
resolve the files for the dependencies, i.e. the artifacts
associated with a Maven project can lack a file.
As such, this annotation is meant for mojos that only
want to analyze the set of transitive
dependencies, in particular during early lifecycle phases
full dependency resolution might fail due to
projects which haven't been built yet.
Flags this Mojo to be invoked directly only.
Flags this Mojo to require running inside of a project.
Flags this Mojo to require running inside of a reports
context. Unsupported since Maven 3.0.
Flags this Mojo to require online mode for its operation.
Flags this Mojo to run it in a multi module way,
i.e. aggregate the build with the set of projects
listed as modules.
Specify that the Mojo is inherited.
Marks this mojo as being thread-safe, i.e. the
mojo safely supports concurrent execution during parallel
builds. Mojos without this annotation will make
Maven output a warning when used during a parallel build
session. Since Maven 3.0.
Specify the instantiation strategy.
Specify the execution strategy:
Specify the version when the Mojo was added to the API.
Similar to Javadoc since.
Specify the version when the Mojo was deprecated
to the API. Similar to Javadoc deprecated. This will
trigger a warning when a user tries to configure
a parameter marked as deprecated.
The configurator type to use when injecting
parameter values into this Mojo. The value is normally
from the Mojo's implementation language, but can
be specified to allow a custom ComponentConfigurator
implementation to be used.