嵌入 scala 2.13.x REPL

Embedding scala 2.13.x REPL

对于 Scala 2.12.x 可以使用 scala.tools.nsc.interpreter.ILoop 嵌入 Scala REPL。使用 Scala 2.13.x scala.tools.nsc.interpreter.ILoop 已被删除。如何嵌入 Scala 2.13.x REPL?

尝试添加 依赖项

libraryDependencies += "org.scala-lang" % "scala-compiler" % "2.13.1"

之后,例如,以下编译

import scala.tools.nsc.interpreter.shell.{ILoop, ShellConfig}
import scala.tools.nsc._

object EmbeddedREPL extend App {
  val settings = new Settings {
    usejavacp.value = true
    deprecation.value = true
  }
  val config = ShellConfig(settings)
  new ILoop(config).run(settings)
}