使用 IntelliJidea 在 Java 11 上构建 Scala 错误

Dil*_*uri 5 java scala gradle java-11

当我从 IntellijIdea 构建我的项目时,出现以下错误

Error:scalac: 'jvm-11' is not a valid choice for '-target'
Error:scalac: bad option: '-target:jvm-11'
Run Code Online (Sandbox Code Playgroud)

我正在使用 gradle 来构建我的项目。我的项目使用 java 11 和 scala 2.12.8。

有人可以帮我解决这个错误吗?

小智 4

Scala 2.12 不支持 JVM 11 作为目标。您需要将其添加到您的 gradle 构建文件中:

tasks.withType<ScalaCompile> {
    targetCompatibility = "1.8"
}
Run Code Online (Sandbox Code Playgroud)

对于 Scala 2.13,此问题的修复是:

tasks.withType<ScalaCompile>() {
    targetCompatibility = ""
    scalaCompileOptions.additionalParameters = listOf("-target:11")
}
Run Code Online (Sandbox Code Playgroud)