Uploaded image for project: 'Maven'
  1. Maven
  2. MNG-5482

Catch NoClassDefFoundError org/sonatype/aether

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 3.1.0-alpha-1
    • 3.1.0-alpha-1
    • Plugins and Lifecycle
    • None

    Description

      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 :

      [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
      

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

      Attachments

        Issue Links

          Activity

            People

              hboutemy Herve Boutemy
              aheritier Arnaud Heritier
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: