[ https://issues.apache.org/jira/browse/MPLUGIN-296?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15135893#comment-15135893 ]
Christian Schulte commented on MPLUGIN-296: ------------------------------------------- Will do. Depends on the Aether version used by Maven. With [Pull Request 1|https://github.com/jvanzyl/aether-core/pull/1] applied, direct dependencies will no longer be filtered out unintended. Currently the direct dependency on the annotations (provided) will be filtered out by the 'ScopeDependencySelector' so that the transitive dependency will be used. With the patch applied the direct dependency will no longer be filtered out (nearer) and will then not get resolved due to the provided scope. > java.lang.ClassNotFoundException: org.apache.maven.plugins.annotations.Execute > ------------------------------------------------------------------------------ > > Key: MPLUGIN-296 > URL: https://issues.apache.org/jira/browse/MPLUGIN-296 > Project: Maven Plugin Tools > Issue Type: Bug > Components: Plugin Plugin > Affects Versions: 3.4 > Environment: Apache Maven 3.4.0-SNAPSHOT > (7a009b7caf970730ea37641be7a315a71bb68f09; 2016-02-05T19:32:21+01:00) > Java version: 1.8.0_45, vendor: Oracle Corporation > Java home: /usr/local/jdk-1.8.0/jre > Default locale: en_DE, platform encoding: UTF-8 > Reporter: Christian Schulte > Assignee: Christian Schulte > Priority: Blocker > Fix For: 3.5 > > > The plugin dependency on 'maven-plugin-annotations' must not use scope > 'provided'. The scope of the annotations for the project using them can use > 'provided'. The plugin classpath is different. > {code} > [INFO] --- maven-plugin-plugin:3.4:descriptor (default-descriptor) @ > mng-5783-plugin-dependency-filtering-plugin --- > [WARNING] Using platform encoding (UTF-8 actually) to read mojo metadata, > i.e. build is platform dependent! > [INFO] Mojo extractor with id: java-javadoc found 1 mojo descriptors. > [WARNING] Error injecting: > org.apache.maven.tools.plugin.extractor.annotations.JavaAnnotationsMojoDescriptorExtractor > java.lang.NoClassDefFoundError: org/apache/maven/plugins/annotations/Execute > at java.lang.ClassLoader.defineClass1(Native Method) > at java.lang.ClassLoader.defineClass(ClassLoader.java:760) > at > java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) > at java.net.URLClassLoader.defineClass(URLClassLoader.java:467) > at java.net.URLClassLoader.access$100(URLClassLoader.java:73) > at java.net.URLClassLoader$1.run(URLClassLoader.java:368) > at java.net.URLClassLoader$1.run(URLClassLoader.java:362) > at java.security.AccessController.doPrivileged(Native Method) > at java.net.URLClassLoader.findClass(URLClassLoader.java:361) > at > org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401) > at > org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42) > 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 java.lang.Class.getDeclaredMethods0(Native Method) > at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) > at java.lang.Class.getDeclaredMethods(Class.java:1975) > at > com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:688) > at > com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:380) > at > com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:164) > at > com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:613) > at > com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:569) > at > com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:555) > at > com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:884) > at > com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:805) > at > com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:282) > at > com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:214) > at > com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:1006) > at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1038) > at > com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1001) > at > com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1051) > at > org.eclipse.sisu.space.AbstractDeferredClass.get(AbstractDeferredClass.java:48) > at > com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81) > at > com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:53) > at > com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:65) > at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:115) > at > org.eclipse.sisu.bean.BeanScheduler$Activator.onProvision(BeanScheduler.java:176) > at > com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:126) > at > com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:68) > at > com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:63) > at > com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103) > at > com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) > at > com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:145) > at > com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41) > at > com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:1016) > at > com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092) > at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:1012) > at org.eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.java:81) > at > org.eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.java:51) > at java.util.AbstractMap.get(AbstractMap.java:187) > at > org.apache.maven.tools.plugin.scanner.DefaultMojoScanner.populatePluginDescriptor(DefaultMojoScanner.java:87) > at > org.apache.maven.plugin.plugin.AbstractGeneratorMojo.execute(AbstractGeneratorMojo.java:245) > at > org.apache.maven.plugin.plugin.DescriptorGeneratorMojo.execute(DescriptorGeneratorMojo.java:90) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:155) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:147) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116) > at > org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80) > at > org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51) > at > org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:865) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) > 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:497) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356) > Caused by: java.lang.ClassNotFoundException: > org.apache.maven.plugins.annotations.Execute > 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) > ... 77 more > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)