Plugin descriptor metadata for using with script-based mojos.



Root element of a script-based mojo's plugin metadata bindings.

Element Type Description
mojos/mojo* List<Mojo> (Many) The list of mojos contained in the accompanying script.


Mojo descriptor definition.

Element Type Description
goal String The name of the goal used to invoke this mojo.
phase String The phase to which this mojo should be bound by default.
aggregator boolean Whether this mojo operates as an aggregator when the reactor is run. That is, only runs once.
Default value is: false.
requiresDependencyResolution String The scope of dependencies that this mojo requires to have resolved.
requiresProject boolean Whether this mojo requires a project instance in order to execute.
Default value is: false.
requiresReports boolean Whether this mojo requires a reports section in the POM.
Default value is: false.
requiresOnline boolean Whether this mojo requires online mode to operate normally.
Default value is: false.
inheritByDefault boolean Whether this mojo's configuration should propagate down the POM inheritance chain by default.
Default value is: false.
requiresDirectInvocation boolean If true, this mojo can only be directly invoked (eg. specified directly on the command line).
Default value is: false.
execution LifecycleExecution Information about a sub-execution of the Maven lifecycle which should be processed.
components/component* List<Component> (Many) List of plexus components required by this mojo.
parameters/parameter* List<Parameter> (Many) List of parameters used by this mojo.
description String The description for this parameter.
deprecated String A deprecation message for this mojo parameter.
since String Version when the mojo was added to the API.
call String The target/method within the script to call when this mojo executes.


A sub-process execution of a lifecycle to satisfy the needs of a mojo.

Element Type Description
lifecycle String The name of the overlay to apply to the sub-lifecycle before executing it. If specified, this lifecycle overlay definition will be bundled with the plugin.
phase String The phase in the sub-lifecycle.
goal String A goal, not attached to a lifecycle phase, which should be executed ahead of this mojo.


A reference to a plexus component, assumed to be available to the plugin container.

Element Type Description
role String The component role to lookup.
hint String The role-hint to lookup.


A parameter used by a mojo, and configurable from the command line or POM configuration sections.

Element Type Description
name String The parameter name
alias String An alternate name for the parameter.
property String The JavaBeans property name to use to configure the mojo with this parameter.
required boolean Whether this parameter is required.
Default value is: false.
readonly boolean Whether this parameter can be directly edited. If false, this param is either derived from another POM element, or refers to a runtime instance of the build system.
Default value is: false.
expression String The command-line reference to this parameter.
defaultValue String An expression in the form ${} for extracting a value for this parameter, especially from a runtime instance within the build system. (eg. ${} references project.getBuild().getDirectory())
type String The java type for this parameter.
description String The description for this parameter.
deprecated String A deprecation message for this mojo parameter.
since String Version when the parameter was added.