在Gradle 7之前,我可以在构建脚本中使用以下代码块来触发Gradle独立于运行时JDK使用特定的Java版本(在本例中为java11):
java {
toolchain {
languageVersion = JavaLanguageVersion.of(11)
}
}
多亏了这个块,我可以编译我的项目,即使org.gradle.java.home
指向我的jdk17路径。
升级到Gradle 8.1.1后,我收到以下错误消息:
FAILURE: Build failed with an exception.
* Where:
Build file 'C:\dev\workspace\foo\bar\build.gradle' line: 25
* What went wrong:
A problem occurred evaluating project ':baz'.
> The value for property 'languageVersion' is final and cannot be changed any further.
更糟糕的是,official Gradle documentation建议使用我的确切代码片段来解决这个问题,这显然行不通。
除了设置“java.sourceCompatibility = JavaVersion.VERSION_11”之外,我找不到任何工作代码片段,这不允许我在不首先将org.gradle.java.home
更改为指向jdk11的情况下进行编译。
1条答案
按热度按时间avwztpqn1#
我有:
我在下面的build.gradle中尝试了你的代码片段,构建结果是“成功”: