From 3c81cee47d7cf3ca5cfd903836745cf7dbe3d039 Mon Sep 17 00:00:00 2001 From: Bhargav Date: Fri, 5 Jun 2026 21:44:49 +0530 Subject: [PATCH 1/2] Improve Maven classloading guide documentation --- .../guides/mini/guide-maven-classloading.md | 90 ++++++++++++- .../markdown/reference/maven-classloading.md | 123 ------------------ .../markdown/reference/maven-classloading.odg | Bin 15027 -> 0 bytes .../images/buildExtensionClassRealm.PNG | Bin 0 -> 23289 bytes .../images}/maven-classloading.png | Bin content/resources/images/pluginClassRealm.png | Bin 0 -> 35256 bytes 6 files changed, 86 insertions(+), 127 deletions(-) delete mode 100644 content/markdown/reference/maven-classloading.md delete mode 100644 content/markdown/reference/maven-classloading.odg create mode 100644 content/resources/images/buildExtensionClassRealm.PNG rename content/{markdown/reference => resources/images}/maven-classloading.png (100%) create mode 100644 content/resources/images/pluginClassRealm.png diff --git a/content/markdown/guides/mini/guide-maven-classloading.md b/content/markdown/guides/mini/guide-maven-classloading.md index a30499362a..dd029daa75 100644 --- a/content/markdown/guides/mini/guide-maven-classloading.md +++ b/content/markdown/guides/mini/guide-maven-classloading.md @@ -39,6 +39,10 @@ The search order is always as given above. This is the classloader exposing all JRE classes. +During normal command line Maven invocation, the ClassWorlds bootstrap classloader is the JVM System +classloader and contains classes from `${maven.home}/boot/plexus-classworlds-*.jar` and classes +from `-javaagent`. + ## System Classloader It contains only Plexus Classworlds and imports the platform classloader. @@ -47,32 +51,85 @@ It contains only Plexus Classworlds and imports the platform classloader. The second classloader down the graph contains the core requirements of Maven. **It is used by Maven internally but not by plugins**. The core classloader has the libraries in `${maven.home}/lib`. In general these are just Maven libraries. For example instances of [`MavenProject`](/ref/current/apidocs/org/apache/maven/project/MavenProject.html) belong to this classloader. +Contents of this classloader are configured in `${maven.home}/bin/m2.conf` and typically contains `${maven.home}/lib/ext/*.jar` and `${maven.home}/lib/*.jar`. + You can add elements to this classloader by the means outlined in [Core Extension](./guide-using-extensions.html). These are loaded through the same classloader as `${maven.home}/lib` and hence are available to the Maven core and all plugins for the current project (through the API Classloader, see next paragraph). More information is available in [Core Extension](./guide-using-extensions.html). +## Core Extensions + +Core Extensions is a mechanism introduced in Maven 3.3.0 which allows additional components to be loaded into Maven Core as part of a build session. + +Each core extension is loaded in a separate classloader and there is no mechanism to share classes among core extensions. Core extension classloaders use Maven Core classloader as the parent and have access to both exported and internal Maven Core classes. + +A core extension can use a `META-INF/maven/extension.xml` descriptor to declare packages and artifacts exported by the extension. If the descriptor is not present, no packages or artifacts are exported, but the extension can still contribute components to Maven Core extension points. + +Core extensions are configured in the `.mvn/extensions.xml` configuration file at the project's top level: + +```xml + + + + ... + ... + ... + + ... + ... + +``` + +Core extensions are loaded as part of Maven runtime startup and disposed of as part of Maven runtime shutdown. + +## Maven Extensions Classloader + +The Maven Extensions classloader aggregates packages exported by all core extension realms. It also loads additional classpath entries specified via the `-Dmaven.ext.class.path` command line parameter. + +This classloader is created only when core extensions are configured for the build. If created, it will be set as the "container realm" in the Plexus container instance (replacing the Core Classloader in that role). + ## API Classloader -The API classloader is a filtered view of the Core Classloader, done by exposing only the exported packages from all Core Extensions. The main API is listed in [Maven Core Extensions Reference](/ref/current/maven-core/core-extensions.html). +The API classloader aggregates exported packages from both the Maven Core classloader and any Maven Core Extensions classloaders. It does not include any classes directly. + +This has been introduced with Maven 3.3.1 ([MNG-5771](https://issues.apache.org/jira/browse/MNG-5771)). The main API is listed in [Maven Core Extensions Reference](/ref/current/maven-core/core-extensions.html). -This has been introduced with Maven 3.3.1 ([MNG-5771](https://issues.apache.org/jira/browse/MNG-5771)). +The Maven API classloader uses the approximate JVM Bootstrap classloader as its parent (there is no public API to access the JVM Bootstrap classloader; the implementation uses `ClassLoader.getSystemClassLoader().getParent()`). This parent does not contain any application or javaagent classes, which allows for a consistent Maven API classpath regardless of how the Maven JVM was launched. ## Build Extension Classloaders -![Build Extension Class Realm](../../buildExtensionClassRealm.svg) +![Maven Classloading Overview](../../../resources/images/buildExtensionClassRealm.PNG) For every plugin which is marked with `true` and every [build extension](/ref/current/maven-model/maven.html#class_extension) listed in the according section of the POM, there is a dedicated classloader. Those are isolated. That is, one build extension does not have access to other build extensions. It imports everything from the API classloader. All JSR 330 or Plexus components declared in the underlying JAR are registered in the global Plexus container while creating the classloader. In addition all component references in the plugin descriptor are properly wired from the underlying Plexus container. Build extensions have limited effect as they are loaded late. +Modern Maven 3.x build extensions are those that either consist of multiple artifacts or include a `META-INF/maven/extension.xml` descriptor. Each such extension is loaded in a fully isolated classloader — it is not possible to share classes or inject components among extensions. Build extension classloaders use the ClassWorlds bootstrap classloader as the parent, which allows build extensions access to `-javaagent` classes. + +Maven guarantees that each distinct modern build extension (as identified by groupId, artifactId, version and set of dependencies) is loaded by one and only one extension classloader, and that classloader is wired to all projects that use the extension. + ## Project Classloaders There is one project classloader per Maven project (identified through its coordinates). This one imports the API Classloader. In addition it exposes all classes from all Build Extension Classloaders which are bound to the current project. This is only released with the container. During the build outside Mojo executions, the thread's context classloader is set to the project classloader. +Legacy Maven 2.x build extensions (i.e. extensions that consist of a single artifact which does not include a `META-INF/maven/extension.xml` descriptor) are loaded directly into the project classloader rather than a separate extension classloader. + +Maven guarantees there will be one and only one project classloader for each unique set of project build extensions, and the same classloader will be used by all projects that have that set of build extensions. + ## Plugin Classloaders -![Plugin Class Realm](../../pluginClassRealm.svg) +![Plugin Class Realm](../../../resources/images/pluginClassRealm.png) Each plugin (which is not marked as build extension) has its own classloader that imports the Project classloader. Plugins marked with `true` leverage the Build Extension classloader instead of the Plugin classloader. +Plugin classloaders are wired differently depending on whether the project uses build extensions: + +- **Without build extensions**: a single classloader is created for each plugin identified by `groupId:artifactId:version`, importing API packages from the Maven API classloader. Maven will create one and only one classloader for each unique plugin+dependency combination. + +- **With build extensions**: plugin classloaders are wired to project classloaders, giving plugin code access to both Maven API packages and packages exported by the project build extensions. Maven will create one and only one classloader for each unique plugin+dependencies+build-extensions combination. + +All plugin classloaders use the ClassWorlds bootstrap classloader as the parent. This provides a relatively clean and therefore consistent plugin classpath, while still allowing plugins access to `-javaagent` classes (see [MNG-4747](https://issues.apache.org/jira/browse/MNG-4747)). + +Note: Reporting plugins are wired differently and are outside the scope of this document. + Users can add dependencies to this classloader by adding dependencies to a plugin in the [`plugins/plugin`](/ref/current/maven-model/maven.html#class_plugin) section of their project `pom.xml`. Here is a sample of adding `ant-nodeps` to the plugin classloader of the Antrun Plugin and hereby enabling the use of additional/optional Ant tasks: ```xml @@ -102,3 +159,28 @@ When a build plugin is executed, the thread's context classloader is set to the Plugins are free to create further classloaders. For example, a plugin might want to create a classloader that combines the plugin class path and the project class path. It is important to understand that the plugin classloader cannot load classes from any of those custom classloaders. Some factory patterns require that. Here you must add the classes to the plugin classloader as shown before. + +## Exported Artifacts and Packages + +Maven Core, Core Extensions, and Build Extensions use a `META-INF/maven/extension.xml` descriptor to declare API packages and artifacts exported by the classloader. + +```xml + + + + + org.something.myextension + + + + + org.company:myextension + + +``` + +If this descriptor is absent, the extension exports nothing but may still register components into the Maven Core extension points. \ No newline at end of file diff --git a/content/markdown/reference/maven-classloading.md b/content/markdown/reference/maven-classloading.md deleted file mode 100644 index ca50b28254..0000000000 --- a/content/markdown/reference/maven-classloading.md +++ /dev/null @@ -1,123 +0,0 @@ -# Maven classloading - - - -![](maven-classloading.png) - -## ClassWorlds bootstrap classloader - -This classloader is created and managed by the calling environment: JVM launcher, integration testing harness, etc. - -During normal command line Maven invocation this is the JVM System classloader and contains classes from `${maven.home}/boot/plexus-classworlds-*.jar` and classes from `-javaagent`. - -## Maven Core classloader - -This classloader contains core Maven runtime classes like MavenProject, AsbtractMojo and so on. This is the classloader set as the "container realm" in the Plexus container instance unless Maven Extensions classloader is created (see below). - -Contents of this classloader are configured in `${maven.home}/bin/m2.conf` and typically contains `${maven.home}/lib/ext/*.jar` and `${maven.home}/lib/*.jar`. - -## Maven Core Extensions classloaders - -Core Extensions is a new mechanism introduced in Maven 3.3.0 which allows additional components to be loaded into Maven Core as part of a build session. - -Each core extension is loaded in a separate classloader and there is no mechanism to share classes among core extensions. Core extensions classloaders use Maven Core classloader as the parent and have access to both exported and internal Maven Core classes. - -Core extension can use `META-INF/maven/extension.xml` descriptor to declare packages and artifacts exported by the extension. If the descriptor is not present, no packages or artifacts are exported, but the extension can still contribute components to Maven Core extension points. - -Core extensions are configured `.mvn/extensions.xml` configuration file in the project's top level. - -```xml - - - - ... - ... - ... - - ... - ... - -``` - -Core extensions are loaded as part of Maven runtime startup and disposed of as part of Maven runtime shutdown. - -## Maven extensions classloader - -Maven extensions classloader aggregates packages exported by core extensions realms. It also loads additional classpath entries specified in `-Dmaven.ext.class.path` command line parameter. - -Maven extensions classloader is created only when core extensions are configured for the build. If created, it will be set as "container realm" in the Plexus container. - -## Maven API classloader - -Maven API classloader aggregates exported packages from Maven Core and Maven Core Extensions classloaders. Maven API classloader does not include any classes directly. - -Maven API uses approximate JVM Bootstrap classloader as its parent. (there is no API to access JVM Bootstrap classloader, implementation uses `ClassLoader.getSystemClassLoader().getParent()`). The parent classloader does not contain any application or javaagent classes, which allows for consistent Maven API classpath regardless how Maven JVM was launched. - -## Build Extension classloaders - -Modern Maven 3.x build extensions are build extensions that either consist of multiple artifacts or have `META-INF/maven/extension.xml`. Each modern build extension is loaded in a a fully isolated classloader, i.e. it is not possible to share classes or inject components among extensions. - -Maven guarantees that each distinct modern build extension (as identified by plugin groupId, artifactId, version and set of dependecies) is loaded by one and only one extensions classloader and the classloader is wired to all projects that use the extension. - -Build extension classloaders use ClassWorld bootstrap classloader as the parent, which allows build extensions access to `-javaagent` classes. - -## Project classloaders - -Project classloader aggregates Maven API packages, packages exported by project build extensions. - -Project classloaders use Maven API classloader as the parent and import exported classes from project build extension realms. Legacy Maven 2.x build extensions, i.e. extensions that consist of single artifact which does not include `META-INF/maven/extension.xml` descriptor, are directly in project classloaders. - -Maven guarantees there will be one and only one project classloader for each unique set of project build extensions and the same classloader will be used by all projects that have the set of build extensions. - -## Plugin classloaders - -Plugin classloaders are wired differently for projects with and without build extensions. - -For projects without build extensions, single classloader is created for each plugin identified by groupId:artifactId:version and the classloader imports API packages from Maven API classloader. Maven will create one and only one classloader for each unique plugin+dependency combination. - -For projects that use build extensions, plugin classloaders are wired to project classloaders. This gives plugin code access to both Maven API packages and packages exported by the project build extensions. Maven will create one and only one classlaoder for each unique plugin+dependencies+build-extensions combination. - -All plugin classloaders use ClassWorlds bootstrap classloader as the parent. This provides relatively clean and therefore consistent plugin classpath, while still allowing plugins access to `-javaagent` classes (see [MNG-4747](https://issues.apache.org/jira/browse/MNG-4747)). - -Reporting plugins are wired differently still, but reporting plugins are a special case and are outside of the scope of this document. - -## Exported artifacts and packages - -Maven Core, Session and Build Extensions use `META-INF/maven/extension.xml` descriptor to declare API packages and artifacts exported by the classloader. - -```xml - - - - - org.something.myextension - - - - - org.company:myextension - - -``` - diff --git a/content/markdown/reference/maven-classloading.odg b/content/markdown/reference/maven-classloading.odg deleted file mode 100644 index 40b64f49676837848677dbddf0708785502d43a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15027 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 z 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 Date: Fri, 5 Jun 2026 21:49:10 +0530 Subject: [PATCH 2/2] Imporved guide-maven-classloading --- content/markdown/guides/mini/guide-maven-classloading.md | 1 + 1 file changed, 1 insertion(+) diff --git a/content/markdown/guides/mini/guide-maven-classloading.md b/content/markdown/guides/mini/guide-maven-classloading.md index dd029daa75..93afbd673f 100644 --- a/content/markdown/guides/mini/guide-maven-classloading.md +++ b/content/markdown/guides/mini/guide-maven-classloading.md @@ -21,6 +21,7 @@ under the License. This is a description of the classloader hierarchy in Maven. +![Maven Classloading overview](../../../resources/images/maven-classloading.png) ## Overview