的手册页scala说它应该能够运行“顶级对象或脚本文件”,但我无法让后者工作。
# This works:
scalac Example.scala && scala Example
# ...but this doesn't:
scala Example.scala
Run Code Online (Sandbox Code Playgroud)
错误信息总是
错误:编译服务器遇到致命条件:javax/tools/DiagnosticListener java.lang.ClassNotFoundException:javax.tools.DiagnosticListener
...但代码很简单:
object Exmple {
def main(args: Array[String]): Unit = {
System.out.println("Example")
}
}
Run Code Online (Sandbox Code Playgroud)
由于您使用的是 Scala 2.11.12 和 JDK 11,您可能会遇到问题Could not launch Scala 2.10.7, 2.11.12 REPL with Java 11 (without -nobootcp -ncworkaround) #10603,解决方法是
scala -nobootcp -nc Example.scala
Run Code Online (Sandbox Code Playgroud)
作为在 Linux 中使用 apt 安装 Scala 的替代方案,请考虑通过coursier一键安装 Scala
curl -fLo cs https://git.io/coursier-cli-"$(uname | tr LD ld)"
chmod +x cs
./cs setup
rm -f cs
Run Code Online (Sandbox Code Playgroud)
它应该安装 Scala 开发所需的所有组件。
提到 scala-runners 的相关答案:/sf/answers/4496197401/