web-dev-qa-db-ja.com

java.lang.NoClassDefFoundError:Lorg / sonatype / aether / RepositorySystem;

このエラーを修正する方法:

[WARNING] Error injecting: com.google.appengine.devappserver.DevAppServerRunner
Java.lang.NoClassDefFoundError: Lorg/sonatype/aether/RepositorySystem;
    at Java.lang.Class.getDeclaredFields0(Native Method)
    at Java.lang.Class.privateGetDeclaredFields(Class.Java:2397)
    at Java.lang.Class.getDeclaredFields(Class.Java:1806)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.Java:661)
    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.space.AbstractDeferredClass.get(AbstractDeferredClass.Java:48)
    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.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.Java:133)
    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.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 com.google.inject.Scopes$1$1.get(Scopes.Java:59)
    at org.Eclipse.sisu.inject.LazyBeanEntry.getValue(LazyBeanEntry.Java:82)
    at org.Eclipse.sisu.plexus.LazyPlexusBean.getValue(LazyPlexusBean.Java:51)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:260)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:252)
    at org.Apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.Java:459)
    at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:97)
    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:317)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:152)
    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:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:606)
    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)
    at org.codehaus.classworlds.Launcher.main(Launcher.Java:46)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.Java:120)
Caused by: Java.lang.ClassNotFoundException: org.sonatype.aether.RepositorySystem
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.Java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.Java:259)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:235)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.Java:227)
    ... 63 more

使用しています:

  • Java-1.7.0-openjdk-AMD64
  • Maven 3.1.1
  • Ubuntu 13.04、64ビット
12
xybrek

Mavenをどのように使用しているかはわかりませんが、アプリケーション用のJARファイルを生成しているだけだと思います。

Maven GAEプラグイン を使用し、関連する「エーテル」ライブラリをPOMファイルの依存関係として指定する必要があります。

(注:私はこれについて個人的な経験はありませんが、プラグインのドキュメントは、依存関係を処理することを示唆しています。)

3
Stephen C

Javaクラスパスに問題があるようです。不足しているjarは次のようです:

http://mvnrepository.com/artifact/org.sonatype.aether/aether-api/1.13.1

具体的には、ここにjarがあります: http://repo1.maven.org/maven2/org/sonatype/aether/aether-api/1.13.1/aether-api-1.13.1.jar

そのjarファイルをクラスパスに入れます。これには、org.sonatype.aether.RepositorySystemクラスが含まれています。

2
David S.