【问题标题】:Intellij - Run scala main fileIntellij - 运行 scala 主文件
【发布时间】:2018-07-09 11:10:35
【问题描述】:

我已经在 IntelliJ 中安装了 Scala 插件和 sbt 执行器。
我创建了一个新的 Scala 项目,它创建了一个 build.sbt 文件。
在项目设置/库中,我看到了对我计算机上的 SBT 的引用。
我使用以下代码创建了一个新的 Scala 类:

class RunMe {
 def main(args: Array[String]): Unit = {
    println("Hello from main of class")
  }
}

我似乎找不到要为 scala 类创建的新型运行配置。
我在左栏中没有看到绿色播放按钮 (IntelliJ Left Gutter) 我错过了什么?

如何在代码中配置运行配置?

【问题讨论】:

  • 类的签名应该是object RunMe,带有main方法。或object RunMe extends App:在这种情况下main 方法是不必要的。
  • 这个例子的主要问题是应该实例化类,而不是对象!所以最简单的方法是做对象 RunMe extends App {}。 {} 中的所有内容都将在 App main func 中执行。

标签: scala intellij-idea


【解决方案1】:

我通常只是将 App 特征混合到我的 Runner 对象中。比如……

object RunMe extends App {
 println("Hello from main of class")
}

应该可以解决问题。 Intellij 现在应该知道该对象是“可运行的”,并按预期提供“播放”按钮。

【讨论】:

    【解决方案2】:

    您应该在 Scala 中使用 object,而不是像在 Java 中那样使用 static 方法的 class

    object RunMe {
     def main(args: Array[String]): Unit = {
        println("Hello from main of class")
      }
    }
    

    您还可以混合一个名为 App 的特征,而不是提供 main 方法:

    object RunMe extends App {
      println("Hello from main of class")
    }
    

    在这两种情况下,IntelliJ 都应该很好地选择定义并为您提供绿色箭头来启动应用程序。

    【讨论】:

      猜你喜欢
      • 2016-02-08
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 2014-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多