plugin PluginDescriptor META-INF/maven/plugin.xml in a plugin's jar artifact. This descriptor is generally generated from plugin sources, using maven-plugin-plugin. ]]> package org.apache.maven.plugin.descriptor.model PluginDescriptor 1.0.0 plugin.xml file.]]> description 1.0.0 Description of the plugin. String groupId 1.0.0 The group id of the plugin. String artifactId 1.0.0 The artifact id of the plugin. String version 1.0.0 The version of the plugin. String goalPrefix 1.0.0 String isolatedRealm 1.0.0 boolean false inheritedByDefault 1.0.0 boolean true mojos 1.0.0 MojoDescriptor * Description of each Mojo provided by the plugin. dependencies 1.0.0 Dependency * A set of dependencies which the plugin requires in order to function. This enables the plugin to function independently of its POM (or at least to declare the libraries it needs to run). MojoDescriptor 1.0.0 goal true 1.0.0 String The name for the Mojo that users will reference from the command line to execute the Mojo directly, or inside a POM in order to provide Mojo-specific configuration. description 1.0.0 String The description of this Mojo's functionality. implementation 1.0.0 String The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos). language 1.0.0 String java The implementation language for this Mojo (Java, beanshell, etc.). phase 1.0.0 String Note: This annotation will not automagically make a mojo run when the plugin declaration is added to the POM. It merely enables the user to omit the <phase> element from the surrounding <execution> element. ]]> executePhase 1.0.0 String executeGoal 1.0.0 String executeLifecycle 1.0.0 String requiresDependencyResolution 1.0.0 String runtime compile, runtime, test, compile+runtime (since Maven 3.0) ]]> requiresDependencyCollection 1.0.0 String requiresDirectInvocation 1.0.0 boolean Flags this Mojo to be invoked directly. false requiresProject 1.0.0 boolean Flags this Mojo to run inside of a project. true requiresReports 1.0.0 boolean Flags this Mojo to require reports. Unsupported since Maven 3.0. false requiresOnline 1.0.0 boolean Flags this Mojo to require online mode for its operation. false aggregator 1.0.0 boolean Flags this Mojo to run it in a multi module way, i.e. aggregate the build with the set of projects listed as modules. inheritedByDefault 1.0.0 boolean Specify that the Mojo is inherited. true threadSafe 1.0.0 boolean 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. instantiationStrategy 1.0.0 String per-lookup Specify the instantiation strategy. executionStrategy 1.0.0 String once-per-session, always. ]]> since 1.0.0 String Specify the version when the Mojo was added to the API. Similar to Javadoc since. deprecated 1.0.0 String 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. configurator 1.0.0 String The configurator type to use when injecting parameter values into this Mojo. The value is normally deduced from the Mojo's implementation language, but can be specified to allow a custom ComponentConfigurator implementation to be used. composer 1.0.0 String parameters 1.0.0 Parameter * configuration 1.0.0 Configuration * requirements 1.0.0 Requirement * Parameter 1.0.0 A phase mapping definition. name 1.0.0 String true The name of the parameter, to be used in configuring this parameter from the Mojo's declared defaults or from the POM. alias 1.0.0 String Specifies an alias which can be used to configure this parameter from the POM. This is primarily useful to improve user-friendliness, where Mojo field names are not intuitive to the user or are otherwise not conducive to configuration via the POM. type 1.0.0 String true The Java type for this parameter. This is used to validate the result of any expressions used to calculate the value which should be injected into the Mojo for this parameter. required 1.0.0 boolean Whether this parameter is required for the Mojo to function. This is used to validate the configuration for a Mojo before it is injected, and before the Mojo is executed from some half-state. editable 1.0.0 boolean true <build><finalName/></build> rather than specifying a value for finalName directly in the plugin configuration section. It is also useful to ensure that - for example - a List-typed parameter which expects items of type Artifact doesn't get a List full of Strings. ]]> implementation 1.0.0 String description 1.0.0 String The description of this parameter's use inside the Mojo. since 1.0.0 String Specify the version when the parameter was added to the API. Similar to Javadoc since. deprecated 1.0.0 String Specify the version when the parameter 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. Configuration 1.0.0 A parameter configuration. expression true 1.0.0 String Parameter expression. implementation 1.0.0 String defaultValue 1.0.0 String Requirement 1.0.0 role true 1.0.0 String roleHint 1.0.0 String fieldName true 1.0.0 String Dependency 1.0.0 Definition of a dependency, needed by the plugin at runtime. groupId true 1.0.0 String The group id of the dependency. artifactId true 1.0.0 String The artifact id of the dependency. version 1.0.0 String The version of the dependency. type 1.0.0 String jar The type of dependency.