繁体   English   中英

无法在 IntelliJ 中运行 scala

[英]Cannot run scala in IntelliJ

我正在努力使用 IntelliJ IDEA Scala 插件运行 Scala Hello World 项目。 该项目的创建没有任何问题,但是当我创建应该运行的 function 时,没有出现运行按钮。 我不知道为什么它不起作用。

IntelliJ 版本 - 2020.3.1(社区版) Scala 插件版本 2020.3.18

  1. 我创建了 Scala/sbt 项目(我也尝试过 Scala/IDEA)
  2. 普通选项(但我也尝试过其他版本的 JDK,Scala 和 sbt)
  3. 运行按钮不见了

我的代码是:

class Hello extends App {
  println("Hello world")
}

我已经尝试创建 Scala 工作表并且它有效。

当您扩展App时,它需要是object Main extends App ,而不是class Main extends App

请参阅Scala 2.13 规范 9.5 (强调我的):

一个程序一个顶级的 object ,它有一个类型为(Array[String])Unit的成员方法main

程序的main方法可以直接定义在object中,也可以继承。 scala 库定义了一个特殊的 class scala.App,其主体作为主要方法

正如Suma 在他的回答中提到的,您应该使用 object,而不是 class。 Hello文件的代码应该是:

object Hello {
  def main(args: Array[String]): Unit = {
    println("Hello world")
  }
}

如您在SCALA的第一行中所述。 请注意,如果您更喜欢扩展App ,所有语句都将被执行,如最后一个链接中所述:

scala 命令的参数必须是顶级 object。 如果该 object 扩展了特征 scala.App,则该 object 中包含的所有语句都将被执行; 否则,您必须添加一个方法 main 作为程序的入口点。

这意味着您还有另一种选择:

object Hello extends App {
  println("Hello world")
}

我创建了一个显示示例的 gif

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM