温馨提示:本文翻译自stackoverflow.com,查看原文请点击:intellij idea - Scala not builds on Java 10
build.gradle intellij-idea scala java-10

intellij idea - Scala不在Java 10上构建

发布于 2020-04-13 11:51:01

通过Intellij Idea进行构建时,我收到以下消息:

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

稍后,在Java升级之后

构建,执行,部署->构建工具-> Gradle-> Gradle JVM:1.8构建,执行,部署->编译器-> Scala编译器-> Scala编译服务器-> JDK:1.8

build.gradle

compileScala.targetCompatibility = 1.8
ScalaCompileOptions.metaClass.useAnt = false

没有任何帮助!

upd: 这有助于:inbuild.gradle

tasks.withType(ScalaCompile) {
    scalaCompileOptions.useAnt = false
}

并不需要:

compileScala.targetCompatibility = 1.8 
ScalaCompileOptions.metaClass.useAnt = false

查看更多

提问者
HoTicE
被浏览
96
madhawaOnline 2018-09-09 20:04

“错误:scalac:'jvm-1.10'不是'-target'的有效选择,错误:scalac:错误选项:'-target:jvm-1.10'”

  • 下面提到JDK兼容性说明中,它还表示Java 10不完全支持Scala 2.12.6 JDK 9和10兼容性说明。
  • 正如您说的是通过IntelliJ IDEA构建此代码时,我怀疑您没有在运行配置项目设置中配置Java版本(Java 10)或Scala版本(2.12.6)。

  • 另外,请尝试通过
    命令行构建/编译应用程序,以检查是否遇到相同的错误(否则,这只是IDEA中的错误配置,您
    需要更改)

JDK 9和10兼容性说明(在Scala Docs中提及)

JDK 9和10兼容性说明从Scala 2.12.6和2.11.12开始,对JDK 9和10的支持还不完整。值得注意的是,scalac不会强制执行Java Platform Module System的限制,这意味着进行类型检查的代码可能会在运行时发生链接错误。

对JDK 9和10的支持要求最低的sbt版本1.1.0或0.13.x系列中的0.13.17。

有关JDK 9和10兼容性的更多信息,请观看GitHub上的“ Support JDK 9”问题。