[ https://issues.apache.org/jira/browse/MNG-8112?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929742#comment-17929742 ]
Christoph Läubrich commented on MNG-8112: ----------------------------------------- Of course I did it here for demonstration purpose. In the end one can know what people really do. >From https://maven.apache.org/guides/mini/guide-using-extensions.html there is >some kind of ordering * ${maven.home}/lib/ext --> Strongest, should override everything system wide * mvn -Dmaven.ext.class.path=extension.jar --> will override everything for the current run * .mvn/extensions.xml * project->build->plugins->plugin with element extensions=true Given that I declare {code}<exportedArtifacts>org.codehaus.plexus:plexus-build-api</exportedArtifacts>{code} only one can and should win. That this might not always be logical to do so is another point. So I thing in general the problem is that maven do not "know" the GAV yet for maven.ext.class.path and therefore can't replace it so lets first make this work and then probably work on the other part ;-) > 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)