运行Scala程序时出错:在类main中找不到Main方法,请定义main方法

M_G*_*_Gh 0 java scala intellij-idea

我是 Scala 的新手。我所做的是,我已经 在 Ubuntu 20.04 上安装了Scala 2.13.6SBT 1.5.5Intellij 2021.2。我已经在 Intellij 中安装了插件 scala 和 sbt executor。当我创建一个新的 Scala 类并将此代码写入其中时,我可以运行它而不会出现任何错误:

object main extends App{
    println("Hello")
}
Run Code Online (Sandbox Code Playgroud)

但是当我有这个代码时,我无法运行它:

class exm {
   def main(args: Array[String]): Unit={
    println("Hello world")
      }
}
Run Code Online (Sandbox Code Playgroud)

错误如下:

Error: Main method is not static in class exm, please define the main method as:public static void main(String[] args)
Run Code Online (Sandbox Code Playgroud)

我知道 IDE 认为代码是 Java,但为什么呢?

任何帮助将非常感激。

nin*_*nin 5

main 函数需要在一个对象中,而不是一个类定义中。所以而不是这个

package main_function_test

class exm {
  def main(args: Array[String]): Unit = {
    println("Hello world")
  }
}
Run Code Online (Sandbox Code Playgroud)

写这个:

package main_function_test

object exm {
  def main(args: Array[String]): Unit = {
    println("Hello world")
  }
}
Run Code Online (Sandbox Code Playgroud)