当我从Intellijidea构建项目时,我会得到以下错误
Error:scalac: 'jvm-11' is not a valid choice for '-target'
Error:scalac: bad option: '-target:jvm-11'
我正在使用Gradle来构建我的项目。我的项目使用Java 11和Scala 2.12.8。
有人可以帮我解决这个错误吗?
scala 2.12不支持JVM 11作为目标。您需要将其添加到Gradle构建文件中:
tasks.withType<ScalaCompile> {
targetCompatibility = "1.8"
}
至于Scala 2.13,此问题的解决方案是:
tasks.withType<ScalaCompile>() {
targetCompatibility = ""
scalaCompileOptions.additionalParameters = listOf("-target:11")
}
在我的情况下,我只是在IDEA更新之后简单地配置了Scala。
Scala 12实际上可以与Java兼容11.最好检查兼容性表。
我必须从Project Structure
中删除我以前的Scala库,并按照此答案中的描述重新添加它。
这是由于Intellij中的一个错误(或Intellij的Scala插件):
https://youtrack.jetbrains.com/issue/scl-18813
我已经在那儿张贴了一个解决方法,这是受伊万诺布洛上面答案的启发。