You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by Mark Derricutt <ma...@talios.com> on 2023/02/02 03:55:17 UTC

Re: Maven 3.9,0 plan

Following up on this.   I removed all the [] deps from my plugin but 
still seem to get the same issue of the class missing.

I definitely see the class in my maven 3.9-staged/lib directory, and 
have even updated the dependency version in my plugin to match.

The code in question that's failing is the creation of the Aether 
repository system - it's possible this has changed:

```
   private static RepositorySystem newRepositorySystem() {
     DefaultServiceLocator locator = 
MavenRepositorySystemUtils.newServiceLocator();
     locator.addService(RepositoryConnectorFactory.class, 
BasicRepositoryConnectorFactory.class);
     locator.addService(TransporterFactory.class, 
FileTransporterFactory.class);
     locator.addService(TransporterFactory.class, 
HttpTransporterFactory.class);
     return locator.getService(RepositorySystem.class);
   }
```

and trace was:

```
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:149)
     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 
(MojoExecutor.java:341)
     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:329)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:212)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:174)
     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:162)
     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
(DefaultMojosExecutionStrategy.java:37)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:159)
     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:104)
     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:72)
     at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build 
(SingleThreadedBuilder.java:52)
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:117)
     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
     at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke (Method.java:498)
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:282)
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:225)
     at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:406)
     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:347)
Caused by: java.lang.NoClassDefFoundError: 
org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory
     at 
com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem 
(RepositoryResolver.java:123)
     at com.smxemail.rangeresolver.lang.RepositoryResolver.<init> 
(RepositoryResolver.java:108)
     at 
com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver 
(RepositoryResolver.java:118)
     at com.smxemail.rangeresolver.mojo.RangeResolverMojo.execute 
(RangeResolverMojo.java:113)
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:125)
     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 
(MojoExecutor.java:341)
     at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute 
(MojoExecutor.java:329)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:212)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:174)
     at org.apache.maven.lifecycle.internal.MojoExecutor.access$000 
(MojoExecutor.java:75)
     at org.apache.maven.lifecycle.internal.MojoExecutor$1.run 
(MojoExecutor.java:162)
     at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute 
(DefaultMojosExecutionStrategy.java:37)
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:159)
     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:104)
     at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:72)
     at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build 
(SingleThreadedBuilder.java:52)
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:117)
     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
     at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
     at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
     at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
     at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
     at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
     at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke (Method.java:498)
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:282)
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:225)
     at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:406)
     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:347)
Caused by: java.lang.ClassNotFoundException: 
org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory
     at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass 
(SelfFirstStrategy.java:50)
     at 
org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass 
(ClassRealm.java:271)
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass 
(ClassRealm.java:247)
     at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass 
(ClassRealm.java:239)
     at 
com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem 
(RepositoryResolver.java:123)
     at com.smxemail.rangeresolver.lang.RepositoryResolver.<init> 
(RepositoryResolver.java:108)
     at 
com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver 
(RepositoryResolver.java:118)
```

I see the class is included in the `maven-resolver-impl-1.9.4.jar` file 
but that doesn't appear to be in the class path:


```
     at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:347)
Caused by: org.apache.maven.plugin.PluginContainerException: A required 
class was missing while executing 
com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT:resolve-deps: 
org/eclipse/aether/connector/basic/BasicRepo
-----------------------------------------------------
realm =    
plugin>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT
strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
urls[0] = 
file:/Users/amrk/.m2/repository/com/smxemail/rangeresolver-maven-plugin/1.1.59-SNAPSHOT/rangeresolver-maven-plugin-1.1.59-SNAPSHOT.jar
urls[1] = 
file:/Users/amrk/.m2/repository/com/smxemail/com.smxemail.rangeresolver/1.1.34.2-SNAPSHOT/com.smxemail.rangeresolver-1.1.34.2-SNAPSHOT.jar
urls[2] = 
file:/Users/amrk/.m2/repository/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
urls[3] = 
file:/Users/amrk/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
urls[4] = 
file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-named-locks/1.9.4/maven-resolver-named-locks-1.9.4.jar
urls[5] = 
file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.9.4/maven-resolver-transport-file-1.9.4.jar
urls[6] = 
file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.9.4/maven-resolver-transport-http-1.9.4.jar
urls[7] = 
file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
urls[8] = 
file:/Users/amrk/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
urls[9] = 
file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpcore/4.4.15/httpcore-4.4.15.jar
urls[10] = 
file:/Users/amrk/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36.jar
urls[11] = 
file:/Users/amrk/.m2/repository/org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar
urls[12] = 
file:/Users/amrk/.m2/repository/io/vavr/vavr/1.0.0-alpha-4/vavr-1.0.0-alpha-4.jar
urls[13] = 
file:/Users/amrk/.m2/repository/org/antlr/antlr4-runtime/4.9.3/antlr4-runtime-4.9.3.jar
urls[14] = 
file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
urls[15] = 
file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
urls[16] = 
file:/Users/amrk/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar
urls[17] = 
file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
urls[18] = 
file:/Users/amrk/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
urls[19] = 
file:/Users/amrk/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
urls[20] = 
file:/Users/amrk/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar
urls[21] = 
file:/Users/amrk/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
urls[22] = 
file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
urls[23] = 
file:/Users/amrk/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar
urls[24] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-api/1.9.5/maven-scm-api-1.9.5.jar
urls[25] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-manager-plexus/1.9.5/maven-scm-manager-plexus-1.9.5.jar
urls[26] = 
file:/Users/amrk/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
urls[27] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-providers-standard/1.9.5/maven-scm-providers-standard-1.9.5.pom
urls[28] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-accurev/1.9.5/maven-scm-provider-accurev-1.9.5.jar
urls[29] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-bazaar/1.9.5/maven-scm-provider-bazaar-1.9.5.jar
urls[30] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-clearcase/1.9.5/maven-scm-provider-clearcase-1.9.5.jar
urls[31] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsexe/1.9.5/maven-scm-provider-cvsexe-1.9.5.jar
urls[32] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.9.5/maven-scm-provider-cvs-commons-1.9.5.jar
urls[33] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsjava/1.9.5/maven-scm-provider-cvsjava-1.9.5.jar
urls[34] = 
file:/Users/amrk/.m2/repository/org/netbeans/lib/cvsclient/20060125/cvsclient-20060125.jar
urls[35] = 
file:/Users/amrk/.m2/repository/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar
urls[36] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-gitexe/1.9.5/maven-scm-provider-gitexe-1.9.5.jar
urls[37] = 
file:/Users/amrk/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
urls[38] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-git-commons/1.9.5/maven-scm-provider-git-commons-1.9.5.jar
urls[39] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jgit/1.9.5/maven-scm-provider-jgit-1.9.5.jar
urls[40] = 
file:/Users/amrk/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/3.7.1.201504261725-r/org.eclipse.jgit-3.7.1.201504261725-r.jar
urls[41] = 
file:/Users/amrk/.m2/repository/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar
urls[42] = 
file:/Users/amrk/.m2/repository/com/googlecode/javaewah/JavaEWAH/0.7.9/JavaEWAH-0.7.9.jar
urls[43] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-hg/1.9.5/maven-scm-provider-hg-1.9.5.jar
urls[44] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-perforce/1.9.5/maven-scm-provider-perforce-1.9.5.jar
urls[45] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-starteam/1.9.5/maven-scm-provider-starteam-1.9.5.jar
urls[46] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svnexe/1.9.5/maven-scm-provider-svnexe-1.9.5.jar
urls[47] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svn-commons/1.9.5/maven-scm-provider-svn-commons-1.9.5.jar
urls[48] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-synergy/1.9.5/maven-scm-provider-synergy-1.9.5.jar
urls[49] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-vss/1.9.5/maven-scm-provider-vss-1.9.5.jar
urls[50] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-tfs/1.9.5/maven-scm-provider-tfs-1.9.5.jar
urls[51] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-integrity/1.9.5/maven-scm-provider-integrity-1.9.5.jar
urls[52] = 
file:/Users/amrk/.m2/repository/com/mks/api/mksapi-jar/4.10.9049/mksapi-jar-4.10.9049.jar
urls[53] = 
file:/Users/amrk/.m2/repository/org/codehaus/groovy/groovy-all/1.7.6/groovy-all-1.7.6.jar
urls[54] = 
file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jazz/1.9.5/maven-scm-provider-jazz-1.9.5.jar
urls[55] = 
file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-filtering/1.3/maven-filtering-1.3.jar
urls[56] = 
file:/Users/amrk/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
urls[57] = 
file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
urls[58] = 
file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
urls[59] = 
file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
urls[60] = 
file:/Users/amrk/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
urls[61] = 
file:/Users/amrk/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
urls[62] = 
file:/Users/amrk/.m2/repository/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar
Number of foreign imports: 1
import: Entry[import  from realm 
ClassRealm[project>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT, 
parent: ClassRealm[maven.api, parent: null]]]
```

Mark






On 24 Jan 2023, at 21:22, Tamás Cservenák wrote:

> Mark,
>
> Can you provide more information about this error?
>
> I understand if this plugin is internal (not OSS), but can you provide 
> me
>
> the POM of it, or at least the dependencies snippet related to Maven 
> and
>
> resolver?
>
> "A required class is missing" is strange, especially as
>
> BasicRepositoryConnectorFactory is provided by Maven itself?
>
> Thanks
>
> Tamas


---
"The ease with which a change can be implemented has no relevance at all 
to whether it is the right change for the (Java) Platform for all time." 
&mdash; Mark Reinhold.

Mark Derricutt
http://www.chaliceofblood.net
http://www.theoryinpractice.net
http://twitter.com/talios
http://facebook.com/mderricutt

Re: Maven 3.9,0 plan

Posted by Delany <de...@gmail.com>.
Hi Tamas, Konrad

I moved a checksum-maven-plugin config to a package activated profile as
now possible in 3.9.0
But I still want control over whether it activates.
The profile always activates when packaging=jar
I can override that and turn it off with -P-checksum
But some of these plugins should be off by default, not on by default.
The only way to do that is to allow multiple properties as in
https://issues.apache.org/jira/browse/MNG-3328
I'm just reminding this issue is 16 years old with over 100 watchers

Kind regards,
Delany


On Thu, 2 Feb 2023 at 09:02, Tamás Cservenák <ta...@cservenak.net> wrote:

> Ok, I'll take a look. Mark, can you direct me to the source code?
>
> But just as a starting point: within Maven, why are you "booting" a
> completely new resolver instance using ServiceLocator?
>
> But the best would be to have access to the sources....
>
> Thanks
> T
>
> On Thu, Feb 2, 2023 at 4:55 AM Mark Derricutt <ma...@talios.com> wrote:
>
> > Following up on this.   I removed all the [] deps from my plugin but
> > still seem to get the same issue of the class missing.
> >
> > I definitely see the class in my maven 3.9-staged/lib directory, and
> > have even updated the dependency version in my plugin to match.
> >
> > The code in question that's failing is the creation of the Aether
> > repository system - it's possible this has changed:
> >
> > ```
> >    private static RepositorySystem newRepositorySystem() {
> >      DefaultServiceLocator locator =
> > MavenRepositorySystemUtils.newServiceLocator();
> >      locator.addService(RepositoryConnectorFactory.class,
> > BasicRepositoryConnectorFactory.class);
> >      locator.addService(TransporterFactory.class,
> > FileTransporterFactory.class);
> >      locator.addService(TransporterFactory.class,
> > HttpTransporterFactory.class);
> >      return locator.getService(RepositorySystem.class);
> >    }
> > ```
> >
> > and trace was:
> >
> > ```
> >      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> > (DefaultBuildPluginManager.java:149)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> > (MojoExecutor.java:341)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> > (MojoExecutor.java:329)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:212)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:174)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> > (MojoExecutor.java:75)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> > (MojoExecutor.java:162)
> >      at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> > (DefaultMojosExecutionStrategy.java:37)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:159)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:104)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:72)
> >      at
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> >
> > (SingleThreadedBuilder.java:52)
> >      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> > (LifecycleStarter.java:117)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
> >      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
> >      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
> >      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
> >      at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
> >      at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> >      at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:62)
> >      at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >      at java.lang.reflect.Method.invoke (Method.java:498)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> > (Launcher.java:282)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> > (Launcher.java:225)
> >      at
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > (Launcher.java:406)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > (Launcher.java:347)
> > Caused by: java.lang.NoClassDefFoundError:
> > org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory
> >      at
> > com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem
> > (RepositoryResolver.java:123)
> >      at com.smxemail.rangeresolver.lang.RepositoryResolver.<init>
> > (RepositoryResolver.java:108)
> >      at
> >
> com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver
> >
> > (RepositoryResolver.java:118)
> >      at com.smxemail.rangeresolver.mojo.RangeResolverMojo.execute
> > (RangeResolverMojo.java:113)
> >      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> > (DefaultBuildPluginManager.java:125)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> > (MojoExecutor.java:341)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> > (MojoExecutor.java:329)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:212)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:174)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> > (MojoExecutor.java:75)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> > (MojoExecutor.java:162)
> >      at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> > (DefaultMojosExecutionStrategy.java:37)
> >      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> > (MojoExecutor.java:159)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:104)
> >      at
> > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> > (LifecycleModuleBuilder.java:72)
> >      at
> >
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> >
> > (SingleThreadedBuilder.java:52)
> >      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> > (LifecycleStarter.java:117)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
> >      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
> >      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
> >      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
> >      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
> >      at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
> >      at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
> >      at sun.reflect.NativeMethodAccessorImpl.invoke
> > (NativeMethodAccessorImpl.java:62)
> >      at sun.reflect.DelegatingMethodAccessorImpl.invoke
> > (DelegatingMethodAccessorImpl.java:43)
> >      at java.lang.reflect.Method.invoke (Method.java:498)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> > (Launcher.java:282)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> > (Launcher.java:225)
> >      at
> > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> > (Launcher.java:406)
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > (Launcher.java:347)
> > Caused by: java.lang.ClassNotFoundException:
> > org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory
> >      at
> > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass
> > (SelfFirstStrategy.java:50)
> >      at
> > org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass
> > (ClassRealm.java:271)
> >      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> > (ClassRealm.java:247)
> >      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> > (ClassRealm.java:239)
> >      at
> > com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem
> > (RepositoryResolver.java:123)
> >      at com.smxemail.rangeresolver.lang.RepositoryResolver.<init>
> > (RepositoryResolver.java:108)
> >      at
> >
> com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver
> >
> > (RepositoryResolver.java:118)
> > ```
> >
> > I see the class is included in the `maven-resolver-impl-1.9.4.jar` file
> > but that doesn't appear to be in the class path:
> >
> >
> > ```
> >      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> > (Launcher.java:347)
> > Caused by: org.apache.maven.plugin.PluginContainerException: A required
> > class was missing while executing
> > com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT:resolve-deps:
> > org/eclipse/aether/connector/basic/BasicRepo
> > -----------------------------------------------------
> > realm =
> > plugin>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT
> > strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> > urls[0] =
> >
> >
> file:/Users/amrk/.m2/repository/com/smxemail/rangeresolver-maven-plugin/1.1.59-SNAPSHOT/rangeresolver-maven-plugin-1.1.59-SNAPSHOT.jar
> > urls[1] =
> > file:/Users/amrk/.m2/repository/com/smxemail/com.smxemail.rangeresolver/
> > 1.1.34.2-SNAPSHOT/com.smxemail.rangeresolver-1.1.34.2-SNAPSHOT.jar
> > urls[2] =
> >
> >
> file:/Users/amrk/.m2/repository/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
> > urls[3] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
> > urls[4] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-named-locks/1.9.4/maven-resolver-named-locks-1.9.4.jar
> > urls[5] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.9.4/maven-resolver-transport-file-1.9.4.jar
> > urls[6] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.9.4/maven-resolver-transport-http-1.9.4.jar
> > urls[7] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
> > urls[8] =
> >
> >
> file:/Users/amrk/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
> > urls[9] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpcore/4.4.15/httpcore-4.4.15.jar
> > urls[10] =
> >
> >
> file:/Users/amrk/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36.jar
> > urls[11] =
> >
> >
> file:/Users/amrk/.m2/repository/org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar
> > urls[12] =
> >
> >
> file:/Users/amrk/.m2/repository/io/vavr/vavr/1.0.0-alpha-4/vavr-1.0.0-alpha-4.jar
> > urls[13] =
> >
> >
> file:/Users/amrk/.m2/repository/org/antlr/antlr4-runtime/4.9.3/antlr4-runtime-4.9.3.jar
> > urls[14] =
> >
> >
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
> > urls[15] =
> >
> >
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
> > urls[16] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar
> > urls[17] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
> > urls[18] =
> >
> >
> file:/Users/amrk/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
> > urls[19] =
> >
> >
> file:/Users/amrk/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
> > urls[20] =
> >
> >
> file:/Users/amrk/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar
> > urls[21] =
> >
> >
> file:/Users/amrk/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
> > urls[22] =
> >
> >
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
> > urls[23] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar
> > urls[24] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-api/1.9.5/maven-scm-api-1.9.5.jar
> > urls[25] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-manager-plexus/1.9.5/maven-scm-manager-plexus-1.9.5.jar
> > urls[26] =
> > file:/Users/amrk/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
> > urls[27] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-providers-standard/1.9.5/maven-scm-providers-standard-1.9.5.pom
> > urls[28] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-accurev/1.9.5/maven-scm-provider-accurev-1.9.5.jar
> > urls[29] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-bazaar/1.9.5/maven-scm-provider-bazaar-1.9.5.jar
> > urls[30] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-clearcase/1.9.5/maven-scm-provider-clearcase-1.9.5.jar
> > urls[31] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsexe/1.9.5/maven-scm-provider-cvsexe-1.9.5.jar
> > urls[32] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.9.5/maven-scm-provider-cvs-commons-1.9.5.jar
> > urls[33] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsjava/1.9.5/maven-scm-provider-cvsjava-1.9.5.jar
> > urls[34] =
> >
> >
> file:/Users/amrk/.m2/repository/org/netbeans/lib/cvsclient/20060125/cvsclient-20060125.jar
> > urls[35] =
> >
> >
> file:/Users/amrk/.m2/repository/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar
> > urls[36] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-gitexe/1.9.5/maven-scm-provider-gitexe-1.9.5.jar
> > urls[37] =
> >
> >
> file:/Users/amrk/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
> > urls[38] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-git-commons/1.9.5/maven-scm-provider-git-commons-1.9.5.jar
> > urls[39] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jgit/1.9.5/maven-scm-provider-jgit-1.9.5.jar
> > urls[40] =
> > file:/Users/amrk/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/3.7.1.
> > 201504261725-r/org.eclipse.jgit-3.7.1.201504261725-r.jar
> > urls[41] =
> > file:/Users/amrk/.m2/repository/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar
> > urls[42] =
> >
> >
> file:/Users/amrk/.m2/repository/com/googlecode/javaewah/JavaEWAH/0.7.9/JavaEWAH-0.7.9.jar
> > urls[43] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-hg/1.9.5/maven-scm-provider-hg-1.9.5.jar
> > urls[44] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-perforce/1.9.5/maven-scm-provider-perforce-1.9.5.jar
> > urls[45] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-starteam/1.9.5/maven-scm-provider-starteam-1.9.5.jar
> > urls[46] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svnexe/1.9.5/maven-scm-provider-svnexe-1.9.5.jar
> > urls[47] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svn-commons/1.9.5/maven-scm-provider-svn-commons-1.9.5.jar
> > urls[48] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-synergy/1.9.5/maven-scm-provider-synergy-1.9.5.jar
> > urls[49] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-vss/1.9.5/maven-scm-provider-vss-1.9.5.jar
> > urls[50] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-tfs/1.9.5/maven-scm-provider-tfs-1.9.5.jar
> > urls[51] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-integrity/1.9.5/maven-scm-provider-integrity-1.9.5.jar
> > urls[52] =
> >
> >
> file:/Users/amrk/.m2/repository/com/mks/api/mksapi-jar/4.10.9049/mksapi-jar-4.10.9049.jar
> > urls[53] =
> >
> >
> file:/Users/amrk/.m2/repository/org/codehaus/groovy/groovy-all/1.7.6/groovy-all-1.7.6.jar
> > urls[54] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jazz/1.9.5/maven-scm-provider-jazz-1.9.5.jar
> > urls[55] =
> >
> >
> file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-filtering/1.3/maven-filtering-1.3.jar
> > urls[56] =
> >
> >
> file:/Users/amrk/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
> > urls[57] =
> >
> >
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
> > urls[58] =
> >
> >
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
> > urls[59] =
> >
> >
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
> > urls[60] =
> >
> >
> file:/Users/amrk/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
> > urls[61] =
> >
> >
> file:/Users/amrk/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
> > urls[62] =
> > file:/Users/amrk/.m2/repository/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar
> > Number of foreign imports: 1
> > import: Entry[import  from realm
> >
> ClassRealm[project>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT,
> >
> > parent: ClassRealm[maven.api, parent: null]]]
> > ```
> >
> > Mark
> >
> >
> >
> >
> >
> >
> > On 24 Jan 2023, at 21:22, Tamás Cservenák wrote:
> >
> > > Mark,
> > >
> > > Can you provide more information about this error?
> > >
> > > I understand if this plugin is internal (not OSS), but can you provide
> > > me
> > >
> > > the POM of it, or at least the dependencies snippet related to Maven
> > > and
> > >
> > > resolver?
> > >
> > > "A required class is missing" is strange, especially as
> > >
> > > BasicRepositoryConnectorFactory is provided by Maven itself?
> > >
> > > Thanks
> > >
> > > Tamas
> >
> >
> > ---
> > "The ease with which a change can be implemented has no relevance at all
> > to whether it is the right change for the (Java) Platform for all time."
> > &mdash; Mark Reinhold.
> >
> > Mark Derricutt
> > http://www.chaliceofblood.net
> > http://www.theoryinpractice.net
> > http://twitter.com/talios
> > http://facebook.com/mderricutt
> >
>

Re: Maven 3.9,0 plan

Posted by Tamás Cservenák <ta...@cservenak.net>.
Ok, I'll take a look. Mark, can you direct me to the source code?

But just as a starting point: within Maven, why are you "booting" a
completely new resolver instance using ServiceLocator?

But the best would be to have access to the sources....

Thanks
T

On Thu, Feb 2, 2023 at 4:55 AM Mark Derricutt <ma...@talios.com> wrote:

> Following up on this.   I removed all the [] deps from my plugin but
> still seem to get the same issue of the class missing.
>
> I definitely see the class in my maven 3.9-staged/lib directory, and
> have even updated the dependency version in my plugin to match.
>
> The code in question that's failing is the creation of the Aether
> repository system - it's possible this has changed:
>
> ```
>    private static RepositorySystem newRepositorySystem() {
>      DefaultServiceLocator locator =
> MavenRepositorySystemUtils.newServiceLocator();
>      locator.addService(RepositoryConnectorFactory.class,
> BasicRepositoryConnectorFactory.class);
>      locator.addService(TransporterFactory.class,
> FileTransporterFactory.class);
>      locator.addService(TransporterFactory.class,
> HttpTransporterFactory.class);
>      return locator.getService(RepositorySystem.class);
>    }
> ```
>
> and trace was:
>
> ```
>      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:149)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:341)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:329)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
>      at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
>      at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:37)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:104)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:72)
>      at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>
> (SingleThreadedBuilder.java:52)
>      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:117)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
>      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
>      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
>      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
>      at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
>      at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>      at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
>      at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
>      at java.lang.reflect.Method.invoke (Method.java:498)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)
>      at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
> Caused by: java.lang.NoClassDefFoundError:
> org/eclipse/aether/connector/basic/BasicRepositoryConnectorFactory
>      at
> com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem
> (RepositoryResolver.java:123)
>      at com.smxemail.rangeresolver.lang.RepositoryResolver.<init>
> (RepositoryResolver.java:108)
>      at
> com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver
>
> (RepositoryResolver.java:118)
>      at com.smxemail.rangeresolver.mojo.RangeResolverMojo.execute
> (RangeResolverMojo.java:113)
>      at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:125)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2
> (MojoExecutor.java:341)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute
> (MojoExecutor.java:329)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:212)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:174)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.access$000
> (MojoExecutor.java:75)
>      at org.apache.maven.lifecycle.internal.MojoExecutor$1.run
> (MojoExecutor.java:162)
>      at org.apache.maven.plugin.DefaultMojosExecutionStrategy.execute
> (DefaultMojosExecutionStrategy.java:37)
>      at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:159)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:104)
>      at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:72)
>      at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
>
> (SingleThreadedBuilder.java:52)
>      at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:117)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:259)
>      at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:171)
>      at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:99)
>      at org.apache.maven.cli.MavenCli.execute (MavenCli.java:820)
>      at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:269)
>      at org.apache.maven.cli.MavenCli.main (MavenCli.java:191)
>      at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
>      at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:62)
>      at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:43)
>      at java.lang.reflect.Method.invoke (Method.java:498)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced
> (Launcher.java:282)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.launch
> (Launcher.java:225)
>      at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode
> (Launcher.java:406)
>      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
> Caused by: java.lang.ClassNotFoundException:
> org.eclipse.aether.connector.basic.BasicRepositoryConnectorFactory
>      at
> org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass
> (SelfFirstStrategy.java:50)
>      at
> org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass
> (ClassRealm.java:271)
>      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> (ClassRealm.java:247)
>      at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass
> (ClassRealm.java:239)
>      at
> com.smxemail.rangeresolver.lang.RepositoryResolver.newRepositorySystem
> (RepositoryResolver.java:123)
>      at com.smxemail.rangeresolver.lang.RepositoryResolver.<init>
> (RepositoryResolver.java:108)
>      at
> com.smxemail.rangeresolver.lang.RepositoryResolver.createRepositoryResolver
>
> (RepositoryResolver.java:118)
> ```
>
> I see the class is included in the `maven-resolver-impl-1.9.4.jar` file
> but that doesn't appear to be in the class path:
>
>
> ```
>      at org.codehaus.plexus.classworlds.launcher.Launcher.main
> (Launcher.java:347)
> Caused by: org.apache.maven.plugin.PluginContainerException: A required
> class was missing while executing
> com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT:resolve-deps:
> org/eclipse/aether/connector/basic/BasicRepo
> -----------------------------------------------------
> realm =
> plugin>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT
> strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
> urls[0] =
>
> file:/Users/amrk/.m2/repository/com/smxemail/rangeresolver-maven-plugin/1.1.59-SNAPSHOT/rangeresolver-maven-plugin-1.1.59-SNAPSHOT.jar
> urls[1] =
> file:/Users/amrk/.m2/repository/com/smxemail/com.smxemail.rangeresolver/
> 1.1.34.2-SNAPSHOT/com.smxemail.rangeresolver-1.1.34.2-SNAPSHOT.jar
> urls[2] =
>
> file:/Users/amrk/.m2/repository/com/google/guava/guava/31.1-jre/guava-31.1-jre.jar
> urls[3] =
>
> file:/Users/amrk/.m2/repository/org/apache/commons/commons-lang3/3.12.0/commons-lang3-3.12.0.jar
> urls[4] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-named-locks/1.9.4/maven-resolver-named-locks-1.9.4.jar
> urls[5] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-file/1.9.4/maven-resolver-transport-file-1.9.4.jar
> urls[6] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/resolver/maven-resolver-transport-http/1.9.4/maven-resolver-transport-http-1.9.4.jar
> urls[7] =
>
> file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpclient/4.5.13/httpclient-4.5.13.jar
> urls[8] =
>
> file:/Users/amrk/.m2/repository/commons-codec/commons-codec/1.11/commons-codec-1.11.jar
> urls[9] =
>
> file:/Users/amrk/.m2/repository/org/apache/httpcomponents/httpcore/4.4.15/httpcore-4.4.15.jar
> urls[10] =
>
> file:/Users/amrk/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.36/jcl-over-slf4j-1.7.36.jar
> urls[11] =
>
> file:/Users/amrk/.m2/repository/org/jetbrains/annotations/23.0.0/annotations-23.0.0.jar
> urls[12] =
>
> file:/Users/amrk/.m2/repository/io/vavr/vavr/1.0.0-alpha-4/vavr-1.0.0-alpha-4.jar
> urls[13] =
>
> file:/Users/amrk/.m2/repository/org/antlr/antlr4-runtime/4.9.3/antlr4-runtime-4.9.3.jar
> urls[14] =
>
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-sec-dispatcher/1.4/plexus-sec-dispatcher-1.4.jar
> urls[15] =
>
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-cipher/1.4/plexus-cipher-1.4.jar
> urls[16] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/maven-builder-support/3.5.2/maven-builder-support-3.5.2.jar
> urls[17] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-shared-utils/3.1.0/maven-shared-utils-3.1.0.jar
> urls[18] =
>
> file:/Users/amrk/.m2/repository/commons-io/commons-io/2.5/commons-io-2.5.jar
> urls[19] =
>
> file:/Users/amrk/.m2/repository/org/eclipse/sisu/org.eclipse.sisu.inject/0.3.3/org.eclipse.sisu.inject-0.3.3.jar
> urls[20] =
>
> file:/Users/amrk/.m2/repository/com/google/inject/guice/4.0/guice-4.0-no_aop.jar
> urls[21] =
>
> file:/Users/amrk/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
> urls[22] =
>
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-utils/3.1.0/plexus-utils-3.1.0.jar
> urls[23] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/plugin-tools/maven-plugin-annotations/3.5/maven-plugin-annotations-3.5.jar
> urls[24] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-api/1.9.5/maven-scm-api-1.9.5.jar
> urls[25] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-manager-plexus/1.9.5/maven-scm-manager-plexus-1.9.5.jar
> urls[26] =
> file:/Users/amrk/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
> urls[27] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-providers-standard/1.9.5/maven-scm-providers-standard-1.9.5.pom
> urls[28] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-accurev/1.9.5/maven-scm-provider-accurev-1.9.5.jar
> urls[29] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-bazaar/1.9.5/maven-scm-provider-bazaar-1.9.5.jar
> urls[30] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-clearcase/1.9.5/maven-scm-provider-clearcase-1.9.5.jar
> urls[31] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsexe/1.9.5/maven-scm-provider-cvsexe-1.9.5.jar
> urls[32] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvs-commons/1.9.5/maven-scm-provider-cvs-commons-1.9.5.jar
> urls[33] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-cvsjava/1.9.5/maven-scm-provider-cvsjava-1.9.5.jar
> urls[34] =
>
> file:/Users/amrk/.m2/repository/org/netbeans/lib/cvsclient/20060125/cvsclient-20060125.jar
> urls[35] =
>
> file:/Users/amrk/.m2/repository/ch/ethz/ganymed/ganymed-ssh2/build210/ganymed-ssh2-build210.jar
> urls[36] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-gitexe/1.9.5/maven-scm-provider-gitexe-1.9.5.jar
> urls[37] =
>
> file:/Users/amrk/.m2/repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar
> urls[38] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-git-commons/1.9.5/maven-scm-provider-git-commons-1.9.5.jar
> urls[39] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jgit/1.9.5/maven-scm-provider-jgit-1.9.5.jar
> urls[40] =
> file:/Users/amrk/.m2/repository/org/eclipse/jgit/org.eclipse.jgit/3.7.1.
> 201504261725-r/org.eclipse.jgit-3.7.1.201504261725-r.jar
> urls[41] =
> file:/Users/amrk/.m2/repository/com/jcraft/jsch/0.1.50/jsch-0.1.50.jar
> urls[42] =
>
> file:/Users/amrk/.m2/repository/com/googlecode/javaewah/JavaEWAH/0.7.9/JavaEWAH-0.7.9.jar
> urls[43] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-hg/1.9.5/maven-scm-provider-hg-1.9.5.jar
> urls[44] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-perforce/1.9.5/maven-scm-provider-perforce-1.9.5.jar
> urls[45] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-starteam/1.9.5/maven-scm-provider-starteam-1.9.5.jar
> urls[46] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svnexe/1.9.5/maven-scm-provider-svnexe-1.9.5.jar
> urls[47] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-svn-commons/1.9.5/maven-scm-provider-svn-commons-1.9.5.jar
> urls[48] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-synergy/1.9.5/maven-scm-provider-synergy-1.9.5.jar
> urls[49] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-vss/1.9.5/maven-scm-provider-vss-1.9.5.jar
> urls[50] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-tfs/1.9.5/maven-scm-provider-tfs-1.9.5.jar
> urls[51] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-integrity/1.9.5/maven-scm-provider-integrity-1.9.5.jar
> urls[52] =
>
> file:/Users/amrk/.m2/repository/com/mks/api/mksapi-jar/4.10.9049/mksapi-jar-4.10.9049.jar
> urls[53] =
>
> file:/Users/amrk/.m2/repository/org/codehaus/groovy/groovy-all/1.7.6/groovy-all-1.7.6.jar
> urls[54] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/scm/maven-scm-provider-jazz/1.9.5/maven-scm-provider-jazz-1.9.5.jar
> urls[55] =
>
> file:/Users/amrk/.m2/repository/org/apache/maven/shared/maven-filtering/1.3/maven-filtering-1.3.jar
> urls[56] =
>
> file:/Users/amrk/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1.jar
> urls[57] =
>
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.19/plexus-interpolation-1.19.jar
> urls[58] =
>
> file:/Users/amrk/.m2/repository/org/sonatype/plexus/plexus-build-api/0.0.4/plexus-build-api-0.0.4.jar
> urls[59] =
>
> file:/Users/amrk/.m2/repository/org/codehaus/plexus/plexus-component-annotations/1.7.1/plexus-component-annotations-1.7.1.jar
> urls[60] =
>
> file:/Users/amrk/.m2/repository/javax/enterprise/cdi-api/1.0/cdi-api-1.0.jar
> urls[61] =
>
> file:/Users/amrk/.m2/repository/javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar
> urls[62] =
> file:/Users/amrk/.m2/repository/org/jdom/jdom2/2.0.6.1/jdom2-2.0.6.1.jar
> Number of foreign imports: 1
> import: Entry[import  from realm
> ClassRealm[project>com.smxemail:rangeresolver-maven-plugin:1.1.59-SNAPSHOT,
>
> parent: ClassRealm[maven.api, parent: null]]]
> ```
>
> Mark
>
>
>
>
>
>
> On 24 Jan 2023, at 21:22, Tamás Cservenák wrote:
>
> > Mark,
> >
> > Can you provide more information about this error?
> >
> > I understand if this plugin is internal (not OSS), but can you provide
> > me
> >
> > the POM of it, or at least the dependencies snippet related to Maven
> > and
> >
> > resolver?
> >
> > "A required class is missing" is strange, especially as
> >
> > BasicRepositoryConnectorFactory is provided by Maven itself?
> >
> > Thanks
> >
> > Tamas
>
>
> ---
> "The ease with which a change can be implemented has no relevance at all
> to whether it is the right change for the (Java) Platform for all time."
> &mdash; Mark Reinhold.
>
> Mark Derricutt
> http://www.chaliceofblood.net
> http://www.theoryinpractice.net
> http://twitter.com/talios
> http://facebook.com/mderricutt
>