Scala 不是基于 Java 10 构建的

标签 scala intellij-idea build.gradle java-10

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

Error:scalac: 'jvm-1.10' is not a valid choice for '-target' Error:scalac: bad option: '-target:jvm-1.10'



稍后,在 Java 升级之后

Build, Execution, Deployment -> Build Tools -> Gradle -> Gradle JVM: 1.8 Build, Execution, Deployment -> Complier -> Scala Complier -> Scala Compile Server -> JDK: 1.8



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

没有什么帮助!

更新:
这有帮助:在 build.gradle
tasks.withType(ScalaCompile) {
    scalaCompileOptions.useAnt = false
}

不需要:
compileScala.targetCompatibility = 1.8 
ScalaCompileOptions.metaClass.useAnt = false

最佳答案

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

  • JDK 兼容性说明 如下所述,它也是 表示
    Java 10 不完全支持 Scala 2.12.6
    JDK 9 & 10 compatibility notes
  • 正如您所说,您是通过 IntelliJ IDEA 构建的,我怀疑
    您尚未配置您的 java 版本 (Java 10) 或 scala 版本
    (2.12.6) 里面运行配置项目设置。
  • 还请尝试通过以下方式构建/编译您的应用程序
    命令行以检查您是否收到相同的错误
    有了那个(否则这只是 IDEA 中的错误配置,你
    需要更改)

  • JDK 9 & 10 兼容性说明(在 Scala 文档中提到)

    JDK 9 & 10 兼容性说明
    从 Scala 2.12.6 和 2.11.12 开始,JDK 9 和 10 支持不完整。值得注意的是,scalac 不会强制执行 Java 平台模块系统的限制,这意味着类型检查的代码可能会在运行时引发链接错误。

    JDK 9 & 10 支持需要最低 sbt 版本 1.1.0,或 0.13.x 系列中的 0.13.17。

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

    关于Scala 不是基于 Java 10 构建的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52219776/

    相关文章:

    scala - 主机级 akka-http 客户端连接的生存时间

    scala - 通过远程 Spark 作业出错 : java. lang.IllegalAccessError : class org. apache.hadoop.hdfs.web.HftpFileSystem

    scala - 为什么不可能覆盖已经实现的抽象类型?

    scala - native snappy 库不可用

    docker - 使用intelliJ远程调试docker+wildfly 2017.2.6

    java - IntelliJ - 所选目录不是 JDK 的主目录

    android - 无法解析 android.arch.lifecycle :extensions:1. 1.0

    gradle - 如何创建始终运行的 gradle 任务?

    android - SigningConfig "release"缺少必需的属性 "keyPassword"

    java - IntelliJ - 模块 xx 是从 Maven 导入的。重新导入后对其配置所做的任何更改都可能丢失意味着什么?