Gradle 构建失败并显示“org/eclipse/jgit/storage/file/FileRepositoryBuilder 已由 Java 的更新版本编译”
Posted
技术标签:
【中文标题】Gradle 构建失败并显示“org/eclipse/jgit/storage/file/FileRepositoryBuilder 已由 Java 的更新版本编译”【英文标题】:Gradle build fails with "org/eclipse/jgit/storage/file/FileRepositoryBuilder has been compiled by a more recent version of the Java" 【发布时间】:2022-01-09 02:06:56 【问题描述】:从今天开始,我不能再构建我的项目了。它没有任何变化。 看起来一些 Gradle 依赖项是用 Java 11 重新编译的。 我正在使用 Java 8 和 Gradle 4.10。
org/eclipse/jgit/storage/file/FileRepositoryBuilder 已由更新版本的 Java Runtime(类文件版本 55.0)编译,此版本的 Java Runtime 仅识别最高 52.0 的类文件版本
有人遇到同样的问题吗?
./gradlew --version
------------------------------------------------------------
Gradle 4.10.3
------------------------------------------------------------
Build time: 2018-12-05 00:50:54 UTC
Revision: e76905e3a1034e6f724566aeb985621347ff43bc
Kotlin DSL: 1.0-rc-6
Kotlin: 1.2.61
Groovy: 2.4.15
Ant: Apache Ant(TM) version 1.9.11 compiled on March 23 2018
JVM: 1.8.0_292 (Private Build 25.292-b10)
OS: Linux 4.15.0-142-generic amd64
echo $JAVA_HOME
/usr/lib/jvm/java-8-openjdk-amd64/
./gradlew clean
FAILURE: Build failed with an exception.
* What went wrong:
org/eclipse/jgit/storage/file/FileRepositoryBuilder has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Get more help at https://help.gradle.org
BUILD FAILED in 0s
【问题讨论】:
你项目的依赖怎么样? 即使“干净”也不起作用时,依赖关系是否重要? 我想我找到了问题所在。 Gradle 插件 'id "org.ajoberstar.grgit" 版本 "4.1.0"'。 昨天使用不同的 git-gradle-plugin com.gorylenko.gradle-git-properties 遇到了同样的问题。 【参考方案1】:我已经在 build.gradle 中更改了 Gradle 插件 org.ajoberstar.grgit 的版本,它可以工作了。之前的版本是 4.1.0。现在:4.1.1
plugins
id 'java'
id "org.ajoberstar.grgit" version "4.1.1"
【讨论】:
以上是关于Gradle 构建失败并显示“org/eclipse/jgit/storage/file/FileRepositoryBuilder 已由 Java 的更新版本编译”的主要内容,如果未能解决你的问题,请参考以下文章
Gradle bootBuildImage 使用 docker:dind 服务在 GitLab CI/CD 中失败并显示“未找到摘要”