[ 
https://issues.apache.org/jira/browse/MPLUGIN-372?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17357359#comment-17357359
 ] 

Tamás Cservenák edited comment on MPLUGIN-372 at 6/4/21, 3:05 PM:
------------------------------------------------------------------

Just FTR a bit more about error: it happens when 
{{JavaAnnotationsMojoDescriptorExtractor}} tries to find some JavaDoc (!) tags 
in method {{populateDataFromJavadoc}} , more precisely the "deprecated" or 
"since" Javadoc tag. It does look in given class, then goes toward 
superclass(es). Seems, QDox throws up belly in this case (as super class, for 
example AbstractMojo is not on class, as it is provided scope). Error on CLI:
{noformat}
[INFO] --- maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor (default-descriptor) @ 
annotation-with-inheritance-from-deps ---
[INFO] Using 'UTF-8' encoding to read mojo source files.
[INFO] java-javadoc mojo extractor found 0 mojo descriptor.
[INFO] ant mojo extractor found 0 mojo descriptor.
[INFO] bsh mojo extractor found 0 mojo descriptor.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.723 s
[INFO] Finished at: 2021-06-04T15:22:38+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project annotation-with-inheritance-from-deps: The API 
of the mojo scanner is not compatible with this plugin version. Please check 
the plugin dependencies configured in the POM and ensure the versions match. 
org/apache/maven/plugin/AbstractMojo: org.apache.maven.plugin.AbstractMojo -> 
[Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException{noformat}
So, even error is misleading: it talks about "The API of the mojo scanner is 
not compatible with this plugin version", while full stack trace is this:
{noformat}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project maven-dependency-plugin: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.: 
org/apache/maven/plugin/AbstractMojo: org.apache.maven.plugin.AbstractMojo -> 
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project maven-dependency-plugin: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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: org.apache.maven.plugin.MojoExecutionException: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:285)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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/apache/maven/plugin/AbstractMojo
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:458)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:452)
    at java.security.AccessController.doPrivileged (Native Method)
    at java.net.URLClassLoader.findClass (URLClassLoader.java:451)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at com.thoughtworks.qdox.library.ClassLoaderLibrary.containsClassReference 
(ClassLoaderLibrary.java:197)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:277)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.type.TypeResolver.resolveFullyQualifiedType 
(TypeResolver.java:281)
    at com.thoughtworks.qdox.type.TypeResolver.resolveImportedType 
(TypeResolver.java:249)
    at com.thoughtworks.qdox.type.TypeResolver.resolveTypeInternal 
(TypeResolver.java:177)
    at com.thoughtworks.qdox.type.TypeResolver.resolveType 
(TypeResolver.java:119)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.isResolved 
(DefaultJavaType.java:208)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.resolveRealClass 
(DefaultJavaType.java:275)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.getTagByName 
(DefaultJavaType.java:602)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:356)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:364)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.populateDataFromJavadoc
 (JavaAnnotationsMojoDescriptorExtractor.java:281)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.execute
 (JavaAnnotationsMojoDescriptorExtractor.java:109)
    at 
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor
 (DefaultMojoScanner.java:97)
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:263)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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.apache.maven.plugin.AbstractMojo
    at java.net.URLClassLoader.findClass (URLClassLoader.java:471)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:458)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:452)
    at java.security.AccessController.doPrivileged (Native Method)
    at java.net.URLClassLoader.findClass (URLClassLoader.java:451)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at com.thoughtworks.qdox.library.ClassLoaderLibrary.containsClassReference 
(ClassLoaderLibrary.java:197)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:277)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.type.TypeResolver.resolveFullyQualifiedType 
(TypeResolver.java:281)
    at com.thoughtworks.qdox.type.TypeResolver.resolveImportedType 
(TypeResolver.java:249)
    at com.thoughtworks.qdox.type.TypeResolver.resolveTypeInternal 
(TypeResolver.java:177)
    at com.thoughtworks.qdox.type.TypeResolver.resolveType 
(TypeResolver.java:119)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.isResolved 
(DefaultJavaType.java:208)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.resolveRealClass 
(DefaultJavaType.java:275)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.getTagByName 
(DefaultJavaType.java:602)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:356)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:364)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.populateDataFromJavadoc
 (JavaAnnotationsMojoDescriptorExtractor.java:281)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.execute
 (JavaAnnotationsMojoDescriptorExtractor.java:109)
    at 
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor
 (DefaultMojoScanner.java:97)
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:263)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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)
 {noformat}


was (Author: cstamas):
Just FTR a bit more about error: it happens when 
{{JavaAnnotationsMojoDescriptorExtractor}} tries to find some JavaDoc (!) tags 
in method {{populateDataFromJavadoc}} , more precisely the "deprecated" Javadoc 
tag. It does look in given class, then goes toward superclass(es). Seems, QDox 
throws up belly in this case (as super class, for example AbstractMojo is not 
on class, as it is provided scope). Error on CLI:
{noformat}
[INFO] --- maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor (default-descriptor) @ 
annotation-with-inheritance-from-deps ---
[INFO] Using 'UTF-8' encoding to read mojo source files.
[INFO] java-javadoc mojo extractor found 0 mojo descriptor.
[INFO] ant mojo extractor found 0 mojo descriptor.
[INFO] bsh mojo extractor found 0 mojo descriptor.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  1.723 s
[INFO] Finished at: 2021-06-04T15:22:38+02:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project annotation-with-inheritance-from-deps: The API 
of the mojo scanner is not compatible with this plugin version. Please check 
the plugin dependencies configured in the POM and ensure the versions match. 
org/apache/maven/plugin/AbstractMojo: org.apache.maven.plugin.AbstractMojo -> 
[Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e 
switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please 
read the following articles:
[ERROR] [Help 1] 
http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException{noformat}
So, even error is misleading: it talks about "The API of the mojo scanner is 
not compatible with this plugin version", while full stack trace is this:
{noformat}
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project maven-dependency-plugin: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.: 
org/apache/maven/plugin/AbstractMojo: org.apache.maven.plugin.AbstractMojo -> 
[Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal 
org.apache.maven.plugins:maven-plugin-plugin:3.6.2-SNAPSHOT:descriptor 
(default-descriptor) on project maven-dependency-plugin: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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: org.apache.maven.plugin.MojoExecutionException: The API of the mojo 
scanner is not compatible with this plugin version. Please check the plugin 
dependencies configured in the POM and ensure the versions match.
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:285)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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/apache/maven/plugin/AbstractMojo
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:458)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:452)
    at java.security.AccessController.doPrivileged (Native Method)
    at java.net.URLClassLoader.findClass (URLClassLoader.java:451)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at com.thoughtworks.qdox.library.ClassLoaderLibrary.containsClassReference 
(ClassLoaderLibrary.java:197)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:277)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.type.TypeResolver.resolveFullyQualifiedType 
(TypeResolver.java:281)
    at com.thoughtworks.qdox.type.TypeResolver.resolveImportedType 
(TypeResolver.java:249)
    at com.thoughtworks.qdox.type.TypeResolver.resolveTypeInternal 
(TypeResolver.java:177)
    at com.thoughtworks.qdox.type.TypeResolver.resolveType 
(TypeResolver.java:119)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.isResolved 
(DefaultJavaType.java:208)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.resolveRealClass 
(DefaultJavaType.java:275)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.getTagByName 
(DefaultJavaType.java:602)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:356)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:364)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.populateDataFromJavadoc
 (JavaAnnotationsMojoDescriptorExtractor.java:281)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.execute
 (JavaAnnotationsMojoDescriptorExtractor.java:109)
    at 
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor
 (DefaultMojoScanner.java:97)
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:263)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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.apache.maven.plugin.AbstractMojo
    at java.net.URLClassLoader.findClass (URLClassLoader.java:471)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at java.lang.ClassLoader.defineClass1 (Native Method)
    at java.lang.ClassLoader.defineClass (ClassLoader.java:1017)
    at java.security.SecureClassLoader.defineClass (SecureClassLoader.java:174)
    at java.net.URLClassLoader.defineClass (URLClassLoader.java:550)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:458)
    at java.net.URLClassLoader$1.run (URLClassLoader.java:452)
    at java.security.AccessController.doPrivileged (Native Method)
    at java.net.URLClassLoader.findClass (URLClassLoader.java:451)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:589)
    at java.lang.ClassLoader.loadClass (ClassLoader.java:522)
    at com.thoughtworks.qdox.library.ClassLoaderLibrary.containsClassReference 
(ClassLoaderLibrary.java:197)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:277)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.library.AbstractClassLibrary.hasClassReference 
(AbstractClassLibrary.java:280)
    at com.thoughtworks.qdox.type.TypeResolver.resolveFullyQualifiedType 
(TypeResolver.java:281)
    at com.thoughtworks.qdox.type.TypeResolver.resolveImportedType 
(TypeResolver.java:249)
    at com.thoughtworks.qdox.type.TypeResolver.resolveTypeInternal 
(TypeResolver.java:177)
    at com.thoughtworks.qdox.type.TypeResolver.resolveType 
(TypeResolver.java:119)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.isResolved 
(DefaultJavaType.java:208)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.resolveRealClass 
(DefaultJavaType.java:275)
    at com.thoughtworks.qdox.model.impl.DefaultJavaType.getTagByName 
(DefaultJavaType.java:602)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:356)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.findInClassHierarchy
 (JavaAnnotationsMojoDescriptorExtractor.java:364)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.populateDataFromJavadoc
 (JavaAnnotationsMojoDescriptorExtractor.java:281)
    at 
org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor.execute
 (JavaAnnotationsMojoDescriptorExtractor.java:109)
    at 
org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor
 (DefaultMojoScanner.java:97)
    at org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute 
(AbstractGeneratorMojo.java:263)
    at org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute 
(DescriptorGeneratorMojo.java:94)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo 
(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute 
(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject 
(LifecycleModuleBuilder.java:81)
    at 
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
 (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute 
(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:193)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:62)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:566)
    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)
 {noformat}

> Descriptor generation does not work when Mojo class hierarchy extends 
> provided class
> ------------------------------------------------------------------------------------
>
>                 Key: MPLUGIN-372
>                 URL: https://issues.apache.org/jira/browse/MPLUGIN-372
>             Project: Maven Plugin Tools
>          Issue Type: Task
>          Components: maven-plugin-tools-annotations, Plugin Plugin
>            Reporter: Tamás Cservenák
>            Priority: Major
>
> As part of work on MPLUGIN-370 took an example plugin (m-dependency-p) and 
> just set it's maven dependencies to provided. Build exploded with 
> NoClassDefFoundEx (usually for AbstractMojo). Nb: error reporting could be 
> improved, as even with debug output nothing is said why this happened.
> Reason is that DescriptorGeneratorMojo sets ResolutionScope.RUNTIME that 
> **excludes** provided dependencies (like maven-plugin-api, where AbstractMojo 
> is).
> Setting the descriptor mojo scope to ResolutionScope.COMPILE_PLUS_RUNTIME 
> make it work just fine.
> Anyone have any idea why Descriptor Mojo uses RUNTIME scope (hence, omits 
> provided artifacts from processing)?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to