2017-06-08 2 views
2

Ich versuche ein Projekt zu kompilieren, das Maven verwendet.Maven stürzt beim Versuch ab, ein Projekt zu kompilieren "Fehler beim Ausführen von Maven."

Lauf mvn compile Ergebnisse in dem folgenden Fehler:

[ERROR] Error executing Maven. 
[ERROR] java.lang.IllegalStateException: Unable to load cache item 
[ERROR] Caused by: Unable to load cache item 
[ERROR] Caused by: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils 

Dies überall passiert, dass ich dies ausführen, wird es nicht im Projektverzeichnis sein.

Was mache ich falsch?

Maven 3.3.9, ubuntu 17.04

Volle Ausgabe von mvn -X:

Apache Maven 3.3.9 
Maven home: /usr/share/maven 
Java version: 9-Ubuntu, vendor: Oracle Corporation 
Java home: /usr/lib/jvm/java-9-openjdk-amd64 
Default locale: en_GB, platform encoding: UTF-8 
OS name: "linux", version: "4.10.0-21-generic", arch: "amd64", family: "unix" 
[ERROR] Error executing Maven. 
com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalStateException: Unable to load cache item 
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2205) 
    at com.google.common.cache.LocalCache.get(LocalCache.java:3951) 
    at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3955) 
    at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4870) 
    at com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4876) 
    at com.google.inject.internal.FailableCache.get(FailableCache.java:48) 
    at com.google.inject.internal.ConstructorInjectorStore.get(ConstructorInjectorStore.java:50) 
    at com.google.inject.internal.ConstructorBindingImpl.initialize(ConstructorBindingImpl.java:137) 
    at com.google.inject.internal.InjectorImpl.initializeBinding(InjectorImpl.java:533) 
    at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run(AbstractBindingProcessor.java:160) 
    at com.google.inject.internal.ProcessedBindingData.initializeBindings(ProcessedBindingData.java:44) 
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:123) 
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) 
    at com.google.inject.Guice.createInjector(Guice.java:99) 
    at com.google.inject.Guice.createInjector(Guice.java:73) 
    at com.google.inject.Guice.createInjector(Guice.java:62) 
    at org.codehaus.plexus.DefaultPlexusContainer.addPlexusInjector(DefaultPlexusContainer.java:481) 
    at org.codehaus.plexus.DefaultPlexusContainer.<init>(DefaultPlexusContainer.java:206) 
    at org.apache.maven.cli.MavenCli.container(MavenCli.java:545) 
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:281) 
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:199) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.base/java.lang.reflect.Method.invoke(Method.java:547) 
    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.IllegalStateException: Unable to load cache item 
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry(LoadingCache.java:79) 
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.get(LoadingCache.java:34) 
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData.get(AbstractClassGenerator.java:116) 
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create(AbstractClassGenerator.java:291) 
    at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create(FastClass.java:65) 
    at com.google.inject.internal.BytecodeGen.newFastClass(BytecodeGen.java:204) 
    at com.google.inject.internal.DefaultConstructionProxyFactory.create(DefaultConstructionProxyFactory.java:55) 
    at com.google.inject.internal.ProxyFactory.create(ProxyFactory.java:159) 
    at com.google.inject.internal.ConstructorInjectorStore.createConstructor(ConstructorInjectorStore.java:90) 
    at com.google.inject.internal.ConstructorInjectorStore.access$000(ConstructorInjectorStore.java:29) 
    at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:37) 
    at com.google.inject.internal.ConstructorInjectorStore$1.create(ConstructorInjectorStore.java:33) 
    at com.google.inject.internal.FailableCache$1.load(FailableCache.java:37) 
    at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3540) 
    at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2321) 
    at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2284) 
    at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199) 
    ... 28 more 
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$ReflectUtils 
    at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init>(FastClassEmitter.java:67) 
    at com.google.inject.internal.cglib.reflect.$FastClass$Generator.generateClass(FastClass.java:77) 
    at com.google.inject.internal.cglib.core.$DefaultGeneratorStrategy.generate(DefaultGeneratorStrategy.java:25) 
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator.generate(AbstractClassGenerator.java:329) 
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:93) 
    at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply(AbstractClassGenerator.java:91) 
    at com.google.inject.internal.cglib.core.internal.$LoadingCache$2.call(LoadingCache.java:54) 
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
    at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry(LoadingCache.java:61) 
    ... 44 more 
+0

Haben Sie -X für ein vollständiges Debuggen ausgeführt? – farrellmr

+0

@farrellmr Debug-Ausgabe zur Frage hinzugefügt – DanJAB

+0

Gleicher Fehler auf Maven sauber? – Thihara

Antwort

2

Sieht aus wie diese Version von Maven funktioniert nicht auf Java 9, aber es funktioniert auf Java 8.

Stellen Sie sicher, dass Sie die relevanten Pakete installiert haben, z. B.

sudo apt install openjdk-8-jre openjdk-8-jdk 

Und dann stellen Sie sicher, dass Maven die richtige Version verwendet. Der einfachste Weg, dies zu tun, ist die folgende Zeile am Ende der ~/.mavenrc hinzufügen (Erstellen Sie es, wenn erforderlich):

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/ 

(Sie können sich nach dem genauen Namen in /usr/lib/jvm/ suchen müssen Sie es brauchen könnte sein anders für Ihr System)

2

Sieht aus wie Sie Java verwenden 9 Versuchen Sie, einer stabileren Version von Java Schalt 8.

+0

Jeder Link zu einem hilfreichen Artikel, wie man das am besten macht? (Oder eine kurze Beschreibung wie?) – DanJAB

+0

https://www.digitalcocean.com/community/tutorials/how-to-install-java-with-apt-get-on-ubuntu-16-04 – Thihara

+0

Hmm, ich ' d muss nicht ein ppa – DanJAB

Verwandte Themen