You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Christoph Läubrich (Jira)" <ji...@apache.org> on 2025/02/24 12:08:00 UTC
[jira] [Updated] (MNG-8112) extension.xml is ignored when extension is loaded by -Dmaven.ext.class.path
[ https://issues.apache.org/jira/browse/MNG-8112?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christoph Läubrich updated MNG-8112:
------------------------------------
Attachment: image-2025-02-24-13-07-19-735.png
> extension.xml is ignored when extension is loaded by -Dmaven.ext.class.path
> ---------------------------------------------------------------------------
>
> Key: MNG-8112
> URL: https://issues.apache.org/jira/browse/MNG-8112
> Project: Maven
> Issue Type: Bug
> Components: Class Loading
> Affects Versions: 3.9.6
> Reporter: Rich DiCroce
> Priority: Major
> Attachments: image-2025-02-24-13-07-19-735.png
>
>
> As the title says: extension.xml is ignored when an extension is loaded by -Dmaven.ext.class.path, which makes it impossible to expose any additional packages.
> I am filing this as a bug due to [this comment|https://issues.apache.org/jira/browse/MNG-6906?focusedCommentId=17719869&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17719869] on MNG-6906, which says that lib/ext and -Dmaven.ext.class.path are supposed to be synonymous. Note that MNG-6906 is a related but different problem.
> When looking at org.apache.maven.cli.MavenCli, the problems aren't too hard to see:
> # lib/ext extensions get loaded into the plexus.core realm (as per m2.conf), but -Dmaven.ext.class.path extensions are loaded into the maven.ext realm (as per MavenCli#setupContainerRealm()).
> # loadCoreExtensions() operates on the coreRealm, but due to #1, the extensions are not in that realm. Also, the result of parseExtClasspath() is not passed to loadCoreExtensions(), so there is no way for loadCoreExtensions() to find the relevant files.
> The most obvious solution would be to call coreRealm.addURL() for each of the files discovered by parseExtClasspath(). This would solve #1 above which would implicitly fix #2. Though I don't know if it would have other consequences.
> If this is not a bug and is instead "works as designed", then [https://maven.apache.org/guides/mini/guide-using-extensions.html] needs to be updated to explain that the three methods of loading core extensions are not equivalent.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)