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 <m...@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
> >
>

Reply via email to