Arnaud Heritier created MNG-5482:
------------------------------------

             Summary: Catch NoClassDefFoundError org/sonatype/aether
                 Key: MNG-5482
                 URL: https://jira.codehaus.org/browse/MNG-5482
             Project: Maven 2 & 3
          Issue Type: Improvement
          Components: Plugins and Lifecycle
    Affects Versions: 3.1.0-alpha-1
            Reporter: Arnaud Heritier


In Maven 3.1 Sonatype Aether was replaced by Eclipse Aether where the root 
package was changed org.sonatype.aether -> org.eclipse.aether
Due to this all plugins which are using directly aether have to be updated to 
support both packages.
For now with old plugins the user receive such ugly error :
{code}
[INFO] Dependency-reduced POM written at: 
/Users/arnaud/Code/eXo/platform-public-distributions/plf-tomcat-extensions-manager/dependency-reduced-pom.xml
[WARNING] Error injecting: 
org.apache.maven.shared.dependency.graph.internal.Maven3DependencyGraphBuilder
java.lang.NoClassDefFoundError: org/sonatype/aether/graph/Dependency
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2436)
        at java.lang.Class.getDeclaredMethods(Class.java:1793)
        at 
com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:674)
        at 
com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:366)
        at 
com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:165)
        at 
com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:609)
        at 
com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:565)
        at 
com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:551)
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:865)
        at 
com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:790)
        at 
com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:278)
        at 
com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:210)
        at 
com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:986)
        at 
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:1019)
        at 
com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:982)
        at 
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1032)
        at 
org.eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:44)
        at 
com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:86)
        at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:55)
        at 
com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
        at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
        at 
org.eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:134)
        at 
com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:109)
        at 
com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
        at 
com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
        at 
com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:47)
        at 
com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
        at 
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1054)
        at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
        at com.google.inject.Scopes$1$1.get(Scopes.java:59)
        at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:41)
        at 
com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.java:997)
        at 
com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1047)
        at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.java:993)
        at 
org.eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:82)
        at 
org.eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:52)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:259)
        at 
org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:239)
        at 
org.apache.maven.shared.dependency.graph.internal.DefaultDependencyGraphBuilder.buildDependencyGraph(DefaultDependencyGraphBuilder.java:60)
        at 
org.apache.maven.plugins.shade.mojo.ShadeMojo.updateExcludesInDeps(ShadeMojo.java:965)
        at 
org.apache.maven.plugins.shade.mojo.ShadeMojo.createDependencyReducedPom(ShadeMojo.java:938)
        at 
org.apache.maven.plugins.shade.mojo.ShadeMojo.execute(ShadeMojo.java:544)
        at 
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
        at 
org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
        at 
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:318)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414)
        at 
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357)
Caused by: java.lang.ClassNotFoundException: 
org.sonatype.aether.graph.Dependency
        at 
org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
        at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
        at 
org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
        ... 64 more
{code}

A specific catch of this error may be done to display a more user friendly error

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to