You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by gn...@apache.org on 2026/09/24 07:16:31 UTC
(maven) branch master updated: docs: document plugin.xml V4 vs V3
This is an automated email from the ASF dual-hosted git repository.
gnodet pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven.git
The following commit(s) were added to refs/heads/master by this push:
new 4398d6569d docs: document plugin.xml V4 vs V3
4398d6569d is described below
commit 4398d6569d5a98361bc96f8f96f384743c303157
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Thu Sep 24 09:16:25 2026 +0200
docs: document plugin.xml V4 vs V3
- Add dedicated site documentation for the V3 plugin.mdo model in compat/maven-plugin-api, cross-linking to the V4 documentation
- Add dedicated site documentation for the V4 plugin.mdo model in api/maven-api-plugin, cross-linking to the V3 documentation
- Fill in missing descriptions for goalPrefix, isolatedRealm, inheritedByDefault, executeLifecycle, composer, parameters, configuration and roleHint fields in both V3 and V4 plugin.mdo
- Remove incorrect defaultValue 'runtime' from requiresDependencyResolution (MojoDescriptor initialises this field to null by default)
- Fix grammar: 'immutable models' -> 'immutable model' in index.md
- Fix typo: 'wrong this documentation' -> 'wrong with this documentation'
---
api/maven-api-plugin/src/main/mdo/plugin.mdo | 16 +-
api/maven-api-plugin/src/site/markdown/index.md | 14 +-
compat/maven-compat/src/site/markdown/index.md | 2 +-
compat/maven-plugin-api/pom.xml | 19 ++
.../maven-plugin-api}/src/main/mdo/plugin.mdo | 358 +++++++--------------
compat/maven-plugin-api/src/site/markdown/index.md | 3 +-
compat/maven-plugin-api/src/site/site.xml | 3 +-
7 files changed, 153 insertions(+), 262 deletions(-)
diff --git a/api/maven-api-plugin/src/main/mdo/plugin.mdo b/api/maven-api-plugin/src/main/mdo/plugin.mdo
index 64bee167ed..5d29f2db55 100644
--- a/api/maven-api-plugin/src/main/mdo/plugin.mdo
+++ b/api/maven-api-plugin/src/main/mdo/plugin.mdo
@@ -69,20 +69,20 @@ under the License.
<field>
<name>goalPrefix</name>
<version>1.0.0+</version>
- <description></description>
+ <description>The prefix for the plugin's goal names as used on the command line (e.g. {@code compiler} for {@code compiler:compile}).</description>
<type>String</type>
</field>
<field>
<name>isolatedRealm</name>
<version>1.0.0+</version>
- <description></description>
+ <description>If set to {@code true}, the plugin will be loaded in isolation; it will not share the class loader with other plugins. Defaults to {@code false}.</description>
<type>boolean</type>
<defaultValue>false</defaultValue>
</field>
<field>
<name>inheritedByDefault</name>
<version>1.0.0+</version>
- <description></description>
+ <description>If set to {@code true}, Mojos in this plugin are inherited by child projects by default. Defaults to {@code true}.</description>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
@@ -206,7 +206,7 @@ under the License.
<name>executeLifecycle</name>
<version>1.0.0+</version>
<type>String</type>
- <description></description>
+ <description>Specifies the name of a custom lifecycle to execute when this Mojo is forking execution (used together with {@code executePhase}).</description>
</field>
<field>
<name>requiresDependencyResolution</name>
@@ -384,12 +384,12 @@ under the License.
<name>composer</name>
<version>1.0.0/1.1.0</version>
<type>String</type>
- <description></description>
+ <description>The composer type for this Mojo, used to compose the Mojo instance. Normally deduced from the implementation language.</description>
</field>
<field xdoc.separator="blank">
<name>parameters</name>
<version>1.0.0+</version>
- <description></description>
+ <description>The list of parameters that can be used to configure this Mojo.</description>
<association>
<type>Parameter</type>
<multiplicity>*</multiplicity>
@@ -398,7 +398,7 @@ under the License.
<field xdoc.separator="blank">
<name>resolutions</name>
<version>2.0.0+</version>
- <description></description>
+ <description>Dependency collection or resolution injections declared by {@code @Resolution} annotations on the Mojo class. Each entry specifies a field to inject with the resolved or collected dependency tree for a given path scope.</description>
<association>
<type>Resolution</type>
<multiplicity>*</multiplicity>
@@ -560,7 +560,7 @@ under the License.
<field xml.tagName="role-hint">
<name>roleHint</name>
<type>String</type>
- <description></description>
+ <description>The Plexus role hint to disambiguate multiple implementations of the same role (used to identify specific component instances).</description>
</field>
<field xml.tagName="field-name">
<name>fieldName</name>
diff --git a/api/maven-api-plugin/src/site/markdown/index.md b/api/maven-api-plugin/src/site/markdown/index.md
index bcbdadc0b4..ba376ef27e 100644
--- a/api/maven-api-plugin/src/site/markdown/index.md
+++ b/api/maven-api-plugin/src/site/markdown/index.md
@@ -26,8 +26,20 @@ under the License.
# Maven 4 API - Plugin Descriptor Model
-This is the immutable model for Maven Plugin Descriptor in `org.apache.maven.api.plugin.descriptor` package.
+This is the immutable model for Maven 4 Plugin Descriptor classes in `org.apache.maven.api.plugin.descriptor` package
+and associated lifecycle bindings in `org.apache.maven.api.plugin.descriptor.lifecycle`.
+
+Data about a plugin is stored in [`META-INF/maven/plugin.xml` plugin descriptor](./plugin.html),
+generally generated from plugin sources using [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/)
+and [Maven 4 API Core plugin annotations](../maven-api-core/) or [Maven 3 Plugin Tools' annotations](/plugin-tools/maven-plugin-annotations/index.html).
The following are generated from this model:
- [Java sources](./apidocs/index.html) with `Builder` inner classes for immutable instances creation.
+- [`META-INF/maven/plugin.xml` plugin descriptor](./plugin.html)
+- [`META-INF/maven/lifecycle.xml` plugin descriptor](./lifecycle.html)
+
+## See Also
+
+- [Maven 4 API Core](../maven-api-core/)
+- [Maven 3 plugin API and descriptor](../../compat/maven-plugin-api/)
diff --git a/compat/maven-compat/src/site/markdown/index.md b/compat/maven-compat/src/site/markdown/index.md
index 27cf9fe5c2..e091d4385c 100644
--- a/compat/maven-compat/src/site/markdown/index.md
+++ b/compat/maven-compat/src/site/markdown/index.md
@@ -24,7 +24,7 @@ specific language governing permissions and limitations
under the License.
-->
-# Maven Compat
+# Maven 2 Compat (deprecated)
Maven2 classes maintained as compatibility layer for plugins that need to keep Maven2 compatibility.
diff --git a/compat/maven-plugin-api/pom.xml b/compat/maven-plugin-api/pom.xml
index 6bd39596de..9f8f42bbf8 100644
--- a/compat/maven-plugin-api/pom.xml
+++ b/compat/maven-plugin-api/pom.xml
@@ -96,6 +96,25 @@ under the License.
<build>
<plugins>
+ <plugin>
+ <groupId>org.codehaus.modello</groupId>
+ <artifactId>modello-maven-plugin</artifactId>
+ <configuration>
+ <version>1.0.0</version>
+ <models>
+ <model>src/main/mdo/plugin.mdo</model>
+ </models>
+ </configuration>
+ <executions>
+ <execution>
+ <id>modello</id>
+ <goals>
+ <goal>xdoc</goal>
+ </goals>
+ <phase>generate-sources</phase>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>com.github.siom79.japicmp</groupId>
<artifactId>japicmp-maven-plugin</artifactId>
diff --git a/api/maven-api-plugin/src/main/mdo/plugin.mdo b/compat/maven-plugin-api/src/main/mdo/plugin.mdo
similarity index 63%
copy from api/maven-api-plugin/src/main/mdo/plugin.mdo
copy to compat/maven-plugin-api/src/main/mdo/plugin.mdo
index 64bee167ed..1dcd96e1ec 100644
--- a/api/maven-api-plugin/src/main/mdo/plugin.mdo
+++ b/compat/maven-plugin-api/src/main/mdo/plugin.mdo
@@ -18,95 +18,92 @@ under the License.
-->
<model xmlns="http://codehaus-plexus.github.io/MODELLO/2.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd"
- xml.namespace="http://maven.apache.org/PLUGIN/${version}"
- xml.schemaLocation="https://maven.apache.org/xsd/plugin-${version}.xsd">
+ xsi:schemaLocation="http://codehaus-plexus.github.io/MODELLO/2.0.0 https://codehaus-plexus.github.io/modello/xsd/modello-2.0.0.xsd">
<id>plugin</id>
<name>PluginDescriptor</name>
<description><![CDATA[
- Maven 4 Plugin descriptor, stored in {@code META-INF/maven/plugin.xml} in a plugin's jar artifact.
- This descriptor is generally using the information contained in the annotations of the plugin api.
- <p>An XSD is available at <a href="https://maven.apache.org/xsd/plugin-2.0.0.xsd">https://maven.apache.org/xsd/plugin-2.0.0.xsd</a></p>
+ Maven 3 plugin descriptor, stored in <code>META-INF/maven/plugin.xml</code> in a plugin's jar artifact.
+ This descriptor is generally generated from plugin sources, using
+ <a href="/plugins/maven-plugin-plugin/">maven-plugin-plugin</a>.
+ <p><i>Notice:</i> this documentation is generated from a Modello model but the
+ <a href="apidocs/org/apache/maven/plugin/descriptor/PluginDescriptor.html"><code>PluginDescriptor</code></a>/<a href="apidocs/org/apache/maven/plugin/descriptor/MojoDescriptor.html"><code>MojoDescriptor</code></a>
+ code executed is not generated from this model. Please report if you find anything wrong with this documentation.</p>
]]></description>
+ <defaults>
+ <default>
+ <key>package</key>
+ <value>plugin descriptor XML documentation (no java generation)</value><!-- intentionally non-buildable value -->
+ </default>
+ </defaults>
<classes>
<class rootElement="true" xml.tagName="plugin" xdoc.anchorName="plugin">
<name>PluginDescriptor</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>Root element of the {@code plugin.xml} file.</description>
<fields>
<field>
<name>name</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>Name of the plugin.</description>
<type>String</type>
</field>
<field>
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>Description of the plugin.</description>
<type>String</type>
</field>
<field>
<name>groupId</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>The group id of the plugin.</description>
<type>String</type>
<required>true</required>
</field>
<field>
<name>artifactId</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>The artifact id of the plugin.</description>
<type>String</type>
</field>
<field>
<name>version</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>The version of the plugin.</description>
<type>String</type>
- <required>true</required>
</field>
<field>
<name>goalPrefix</name>
- <version>1.0.0+</version>
- <description></description>
+ <version>1.0.0</version>
+ <description>The prefix for the plugin's goal names as used on the command line (e.g. {@code compiler} for {@code compiler:compile}).</description>
<type>String</type>
</field>
<field>
<name>isolatedRealm</name>
- <version>1.0.0+</version>
- <description></description>
+ <version>1.0.0</version>
+ <description>If set to {@code true}, the plugin will be loaded in isolation; it will not share the class loader with other plugins. Defaults to {@code false}.</description>
<type>boolean</type>
<defaultValue>false</defaultValue>
</field>
<field>
<name>inheritedByDefault</name>
- <version>1.0.0+</version>
- <description></description>
+ <version>1.0.0</version>
+ <description>If set to {@code true}, Mojos in this plugin are inherited by child projects by default. Defaults to {@code true}.</description>
<type>boolean</type>
<defaultValue>true</defaultValue>
</field>
<field>
<name>requiredJavaVersion</name>
- <version>1.1.0+</version>
+ <version>1.0.0</version>
<description>
A version range which specifies the supported Java versions. A version range can either use the usual mathematical syntax "[2.0.10,2.1.0),[3.0,)" or use a single version "2.2.1". The latter is a short form for "[2.2.1,)", i.e. denotes the minimum version required.
- @since Maven 4.0.0-alpha-3
- </description>
- <type>String</type>
- </field>
- <field>
- <name>requiredMavenVersion</name>
- <version>1.1.0+</version>
- <description>
- A version range which specifies the supported Maven versions. A version range can either use the usual mathematical syntax "[2.0.10,2.1.0),[3.0,)" or use a single version "2.2.1". The latter is a short form for "[2.2.1,)", i.e. denotes the minimum version required. This value takes precedence over the POMs Maven prerequisite.
- @since Maven 4.0.0-alpha-3
+ @since Used by Maven 4.0.0-alpha-3+ and 3.9.12+, generated by maven-plugin-tools 3.8.0+
</description>
<type>String</type>
</field>
<field xdoc.separator="blank">
<name>mojos</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<association>
<type>MojoDescriptor</type>
<multiplicity>*</multiplicity>
@@ -115,7 +112,7 @@ under the License.
</field>
<field xdoc.separator="blank">
<name>dependencies</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<association>
<type>Dependency</type>
<multiplicity>*</multiplicity>
@@ -126,32 +123,17 @@ under the License.
</description>
</field>
</fields>
- <codeSegments>
- <codeSegment>
- <version>2.0.0+</version>
- <code><![CDATA[
- public String getPluginLookupKey() {
- return groupId + ":" + artifactId;
- }
-
- public String getId() {
- return groupId + ":" + artifactId + ":" + version;
- }
-
- ]]></code>
- </codeSegment>
- </codeSegments>
</class>
<class xdoc.anchorName="mojo">
<name>MojoDescriptor</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<description>A Mojo description.</description>
<fields>
<field>
<name>goal</name>
<required>true</required>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
The goal name for the Mojo, that users will reference from the command line to execute the Mojo directly,
@@ -160,13 +142,13 @@ under the License.
</field>
<field>
<name>description</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>The description of this Mojo's functionality.</description>
</field>
<field>
<name>implementation</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
The Mojo's fully-qualified class name (or script path in the case of non-Java Mojos).
@@ -174,14 +156,14 @@ under the License.
</field>
<field>
<name>language</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<defaultValue>java</defaultValue>
<description>The implementation language for this Mojo (java, beanshell, etc.).</description>
</field>
<field>
<name>phase</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
Defines a default phase to bind a Mojo execution to if the user does not explicitly set a phase in the POM.
@@ -192,35 +174,25 @@ under the License.
</field>
<field>
<name>executePhase</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>Reference the invocation phase of the Mojo.</description>
</field>
<field>
<name>executeGoal</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>Reference the invocation goal of the Mojo.</description>
</field>
<field>
<name>executeLifecycle</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
- <description></description>
+ <description>Specifies the name of a custom lifecycle to execute when this Mojo is forking execution (used together with {@code executePhase}).</description>
</field>
<field>
<name>requiresDependencyResolution</name>
- <version>1.0.0/1.1.0</version>
- <type>String</type>
- <description>
- Flags this Mojo as requiring the dependencies in the specified class path to be resolved before it can
- execute: {@code compile}, {@code runtime}, {@code test},
- {@code compile+runtime} (since Maven 3.0) or {@code runtime+system} (since Maven 3.0)
- </description>
- </field>
- <field>
- <name>dependencyResolution</name>
- <version>2.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
Flags this Mojo as requiring the dependencies in the specified class path to be resolved before it can
@@ -230,20 +202,7 @@ under the License.
</field>
<field>
<name>requiresDependencyCollection</name>
- <version>1.0.0/1.1.0</version>
- <type>String</type>
- <description>
- 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 where
- full dependency resolution might fail due to projects which haven't been built yet.
- </description>
- </field>
- <field>
- <name>dependencyCollection</name>
- <version>2.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
Flags this Mojo as requiring information about the dependencies that would make up the specified class
@@ -256,56 +215,35 @@ under the License.
</field>
<field>
<name>requiresDirectInvocation</name>
- <version>1.0.0/1.1.0</version>
- <type>boolean</type>
- <description>Flags this Mojo to be invoked directly only.</description>
- <defaultValue>false</defaultValue>
- </field>
- <field>
- <name>directInvocationOnly</name>
- <version>2.0.0+</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>Flags this Mojo to be invoked directly only.</description>
<defaultValue>false</defaultValue>
</field>
<field>
<name>requiresProject</name>
- <version>1.0.0/1.1.0</version>
- <type>boolean</type>
- <description>Flags this Mojo to require running inside of a project.</description>
- <defaultValue>true</defaultValue>
- </field>
- <field>
- <name>projectRequired</name>
- <version>2.0.0+</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>Flags this Mojo to require running inside of a project.</description>
<defaultValue>true</defaultValue>
</field>
<field>
<name>requiresReports</name>
- <version>1.0.0</version><!-- no longer part of 1.1.0 -->
+ <version>1.0.0</version>
<type>boolean</type>
<description>Flags this Mojo to require running inside of a reports context. Unsupported since Maven 3.0.</description>
<defaultValue>false</defaultValue>
</field>
<field>
<name>requiresOnline</name>
- <version>1.0.0/1.1.0</version>
- <type>boolean</type>
- <description>Flags this Mojo to require online mode for its operation.</description>
- <defaultValue>false</defaultValue>
- </field>
- <field>
- <name>onlineRequired</name>
- <version>2.0.0+</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>Flags this Mojo to require online mode for its operation.</description>
<defaultValue>false</defaultValue>
</field>
<field>
<name>aggregator</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>
Flags this Mojo to run it in a multi-module way, i.e. aggregate the build with the set of projects
@@ -315,14 +253,14 @@ under the License.
</field>
<field>
<name>inheritedByDefault</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>Specify that the Mojo is inherited.</description>
<defaultValue>true</defaultValue>
</field>
<field>
<name>threadSafe</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<type>boolean</type>
<description>
Marks this Mojo as being thread-safe, i.e. the Mojo safely supports concurrent execution during parallel
@@ -332,23 +270,16 @@ under the License.
</description>
<defaultValue>false</defaultValue>
</field>
- <field>
- <name>v4Api</name>
- <version>1.1.0</version>
- <type>boolean</type>
- <description>Marks this Mojo as using Maven 4 API. This makes the plugin implicitly incompatible with earlier Maven versions. Only evaluated since Maven 4.</description>
- <defaultValue>false</defaultValue>
- </field>
<field>
<name>instantiationStrategy</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<type>String</type>
<defaultValue>per-lookup</defaultValue>
<description>Specify the instantiation strategy.</description>
</field>
<field>
<name>executionStrategy</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
Specify the execution strategy: {@code once-per-session}, {@code always}.
@@ -357,13 +288,13 @@ under the License.
</field>
<field>
<name>since</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>Specify the version when the Mojo was added to the API. Similar to Javadoc since.</description>
</field>
<field>
<name>deprecated</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
Description with the reason of Mojo deprecation. Similar to Javadoc {@code @deprecated}
@@ -372,7 +303,7 @@ under the License.
</field>
<field>
<name>configurator</name>
- <version>1.0.0+</version>
+ <version>1.0.0</version>
<type>String</type>
<description>
The configurator type to use when injecting parameter values into this Mojo. The value is normally deduced
@@ -382,31 +313,31 @@ under the License.
</field>
<field>
<name>composer</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<type>String</type>
- <description></description>
+ <description>The composer type for this Mojo, used to compose the Mojo instance. Normally deduced from the implementation language.</description>
</field>
<field xdoc.separator="blank">
<name>parameters</name>
- <version>1.0.0+</version>
- <description></description>
+ <version>1.0.0</version>
+ <description>The list of parameters that can be used to configure this Mojo.</description>
<association>
<type>Parameter</type>
<multiplicity>*</multiplicity>
</association>
</field>
- <field xdoc.separator="blank">
- <name>resolutions</name>
- <version>2.0.0+</version>
- <description></description>
- <association>
- <type>Resolution</type>
+ <field>
+ <name>configuration</name>
+ <version>1.0.0</version>
+ <description>Default parameter configuration values provided by the plugin for this Mojo.</description>
+ <association xml.tagName="paramName">
+ <type>Configuration</type>
<multiplicity>*</multiplicity>
</association>
</field>
<field xdoc.separator="blank">
<name>requirements</name>
- <version>1.0.0/1.1.0</version>
+ <version>1.0.0</version>
<description>< that implements [`Mojo` interface](./apidocs/org/apache/maven/plugin/Mojo.html),
- [`Log` interface](./apidocs/org/apache/maven/plugin/logging/Log.html) provides easy logging for the goal.
-A plugin is described in a [`META-INF/maven/plugin.xml` plugin descriptor](../../api/maven-api-plugin/plugin.html), generally generated from plugin sources using [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/).
+A Maven 3 plugin is described in a [`META-INF/maven/plugin.xml` plugin descriptor](./plugin.html), generally generated from plugin sources using [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/).
## See Also
- [Mojo API Specification](/developers/mojo-api-specification.html)
- [Plugin Tools](/plugin-tools/) that provide [maven-plugin-plugin](/plugin-tools/maven-plugin-plugin/) to generate the [`META-INF/maven/plugin.xml` plugin descriptor](./plugin.html)
- [Plugin Testing](/plugin-testing/) frameworks
+- Maven 4 evolution of [plugin descriptor](../../api/maven-api-plugin/)
diff --git a/compat/maven-plugin-api/src/site/site.xml b/compat/maven-plugin-api/src/site/site.xml
index 33e9809aa6..9b07c2028a 100644
--- a/compat/maven-plugin-api/src/site/site.xml
+++ b/compat/maven-plugin-api/src/site/site.xml
@@ -32,8 +32,7 @@
<!--item name="FAQ" href="faq.html"/-->
</menu>
<menu name="Reference">
- <item name="META-INF/maven/lifecycle.xml" href="lifecycle-mappings.html"/>
- <item name="META-INF/maven/plugin.xml" href="plugin.html"/>
+ <item name="Maven 3 META-INF/maven/plugin.xml" href="plugin.html"/>
</menu>
</body>
</site>