我正在使用 IntelliJ IDEA 學習 Scala。專案 SDK 一直是 jdk-17,一切正常,直到現在。
我開始練習演員(Akka 使用 Scala 在行動)。問題(如 scalac: Error: Error compile the sbt component 'compiler-interface-2.11.8-61.0')開始編譯書籍示例。建議是使用 jdk1.8.0,它有幫助。我不明白為什么要使用 jdk1.8.0 而不是 jdk-17?17 > 1.8.0?jdk1.8.0_XXX 是實際的 SDK 嗎?
構建.sbt
name := "fault-tolerance"
version := "1.0"
organization := "com.manning"
scalaVersion := "2.11.8"
libraryDependencies = {
val akkaVersion = "2.4.19"
Seq(
"com.typesafe.akka" %% "akka-actor" % akkaVersion,
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion,
"com.typesafe.akka" %% "akka-testkit" % akkaVersion % "test",
"org.scalatest" %% "scalatest" % "3.0.0" % "test"
)
}
uj5u.com熱心網友回復:
根據Scala JDK 兼容性串列:
| JDK 版本 | 最低 Scala 版本 |
|---|---|
| 18 | 2.13.7、2.12.15 |
| 17 | 2.13.6、2.12.15 |
| 11 | 2.13.0、2.12.4、2.11.12 |
| 8 | 2.13.0、2.12.0、2.11.0、2.10.2 |
如果要使用 JDK 17,則至少需要使用 Scala 2.12.15。
但是,您的專案指定了 Scala 版本 2.11.8,它不支持 1.8 之后的任何 JDK 版本。
所以你要么需要
- 如果您想使用 Java 17,請升級您的專案以使用 Scala 2.12.15
- 如果您想使用 Java 11,請升級您的專案以使用 Scala 2.11.12
- 否則你會被 Java 8 困住
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406419.html
標籤:
