错误:scalac:“ jvm-1.9”不是“ -target”的有效选择

Ole*_*e-M 3 scala intellij-idea gradle

使用Gradle创建了一个新的干净的Scala项目。

这是唯一的依赖项:

compile "org.scala-lang:scala-library:2.12.4"
Run Code Online (Sandbox Code Playgroud)

在命令行上构建时,./gradlew build效果很好。但是,当使用IntelliJ时,会出现以下警告:

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

我同时安装了Java 8和9的JDK,但是我目前正在使用JDK 1.8。但是我不确定这是否相关。

Dmy*_*huk 6

在Scala 2.12中,Scala编译器始终将其编译为Java 8兼容的字节码。

您可以在下面找到更多信息:

  1. 编译和测试Scala 2.12
  2. Scala语言:针对LAMBDAS的Java 8 BYTECODE

将以下行添加到build.gradle中:

compileScala.targetCompatibility = 1.8
ScalaCompileOptions.metaClass.useAnt = false
Run Code Online (Sandbox Code Playgroud)


小智 -1

我遇到了同样的问题,我的问题是 gradle JDK 设置为 9。我将 JDK 更改为 8(设置 -> 构建、执行、部署 -> 构建工具 -> Gradle -> Gradle JVM)并且它有效