如何解决错误"java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.c



感谢您的关注,这是我的第一个帖子,所以请对我宽容。我的问题有点奇怪,我已经在Azure应用程序服务上部署了几个月的春季启动应用程序,但是今天早上当我试图再次部署它时,我得到了错误[error]错误执行Maven。[ERROR] java.lang.IllegalStateException:无法加载缓存项[ERROR]原因:无法加载缓存项[ERROR]肇因于:无法初始化类com.google.inject.internal.cglib.core.$MethodWrapper最令人惊讶的是,所有其他Maven命令都会产生此错误,提前感谢您的帮助。

命令返回mvn -X

Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 17.0.2, vendor: Microsoft, runtime: /usr/lib/jvm/msopenjdk-17-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "5.4.0-1077-azure", 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:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
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:635)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:281)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
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:119)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create (AbstractClassGenerator.java:294)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create (FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:258)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:207)
at com.google.inject.internal.DefaultConstructionProxyFactory.create (DefaultConstructionProxyFactory.java:49)
at com.google.inject.internal.ProxyFactory.create (ProxyFactory.java:156)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor (ConstructorInjectorStore.java:92)
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:40)
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)
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:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
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:635)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:281)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.google.inject.internal.cglib.core.$MethodWrapper
at com.google.inject.internal.cglib.core.$DuplicatesPredicate.evaluate (DuplicatesPredicate.java:104)
at com.google.inject.internal.cglib.core.$CollectionUtils.filter (CollectionUtils.java:52)
at com.google.inject.internal.cglib.reflect.$FastClassEmitter.<init> (FastClassEmitter.java:69)
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:332)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply (AbstractClassGenerator.java:96)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator$ClassLoaderData$3.apply (AbstractClassGenerator.java:94)
at com.google.inject.internal.cglib.core.internal.$LoadingCache$2.call (LoadingCache.java:54)
at java.util.concurrent.FutureTask.run (FutureTask.java:264)
at com.google.inject.internal.cglib.core.internal.$LoadingCache.createEntry (LoadingCache.java:61)
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:119)
at com.google.inject.internal.cglib.core.$AbstractClassGenerator.create (AbstractClassGenerator.java:294)
at com.google.inject.internal.cglib.reflect.$FastClass$Generator.create (FastClass.java:65)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:258)
at com.google.inject.internal.BytecodeGen.newFastClassForMember (BytecodeGen.java:207)
at com.google.inject.internal.DefaultConstructionProxyFactory.create (DefaultConstructionProxyFactory.java:49)
at com.google.inject.internal.ProxyFactory.create (ProxyFactory.java:156)
at com.google.inject.internal.ConstructorInjectorStore.createConstructor (ConstructorInjectorStore.java:92)
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:40)
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)
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:51)
at com.google.inject.internal.ConstructorInjectorStore.get (ConstructorInjectorStore.java:48)
at com.google.inject.internal.ConstructorBindingImpl.initialize (ConstructorBindingImpl.java:155)
at com.google.inject.internal.InjectorImpl.initializeBinding (InjectorImpl.java:581)
at com.google.inject.internal.AbstractBindingProcessor$Processor$1.run (AbstractBindingProcessor.java:176)
at com.google.inject.internal.ProcessedBindingData.initializeBindings (ProcessedBindingData.java:49)
at com.google.inject.internal.InternalInjectorCreator.initializeStatically (InternalInjectorCreator.java:122)
at com.google.inject.internal.InternalInjectorCreator.build (InternalInjectorCreator.java:106)
at com.google.inject.Guice.createInjector (Guice.java:87)
at com.google.inject.Guice.createInjector (Guice.java:69)
at com.google.inject.Guice.createInjector (Guice.java:59)
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:635)
at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:281)
at org.apache.maven.cli.MavenCli.main (MavenCli.java:192)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:77)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:568)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347)

上述错误是由于maven与java版本不兼容。

这似乎是由于maven 3.6.0与jdk17不兼容。尝试降级到jdk11,问题会解决的。

你可以下载Apache Maven并安装3.8.4,你可以在这里查看最新版本。

我在Azure中学习教程时遇到了同样的问题。即使您不能覆盖服务器上的java jdk,您也可以在您的主存储库中添加一个。以下是我个人通过Azure Cli (bash)所做的:

1 -我进入我创建的目录

cd /home/sylvie/java

2 -我将openjdk-11下载到机器上并解压:

curl https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz | tar -xz 

3 -我更新了以下2个环境变量:

export PATH=/home/sylvie/java/jdk-11:$PATH
export JAVA_HOME=/home/sylvie/java/jdk-11

当我在我的spring启动应用程序目录中使用maven命令时,我没有记录这个问题。

你也可以阅读类似的建议https://learn.microsoft.com/en-us/answers/questions/850521/how-to-downgrade-java-version-default-installed-in.html

相关内容

最新更新