java.lang.NoClassDefFoundError: 無法初始化 class org.codehaus.groovy.vmplugin.v7.Java7

2022-08-31 07:42:50

我得到这个异常)当我运行弹簧启动应用程序java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 and java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

我正在使用以下工具

STS 3.9.10 发布 Open
JDK 14 64 位
Spring boot 2.2.5

它与oracle jdk一起工作得很好,但它无法与openjdk一起运行。我没有使用任何时髦的库。这是一个基于 maven 的弹簧靴项目。


答案 1

如何运行应用程序?这可能是因为你使用Gradle作为构建系统,JDK14和Gradle版本是旧的。参考资料: https://github.com/gradle/gradle/issues/10248

如果您使用 Gradle Wrapper,请参阅。该属性应为:$PROJECT_ROOT/gradle/wrapper/gradle-wrapper.propertiesdistributionUrldistributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip

如果是旧版本,请更改它,运行并重试。./gradlew clean build


答案 2

我通过编辑gradle文件夹中的gradle-wrapper.properties文件解决了这个问题。(不是 .gradle) :

将此行从:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip

自:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip

重建,没关系。


推荐