繁体   English   中英

Scala IDE 错误:在类“hello”中找不到 Main 方法

[英]Scala IDE Error: Main method not found in class 'hello'

我刚刚开始在 Scala IDE(Eclipse)上进行 Scala 开发。 我正在尝试创建一个新项目并编写一个示例 hello world 程序来开始工作。 这是我的示例程序:

object hello {
  def main(args: String) = {
    println("Hello World!");
  }
 }

我使用的是 Java 8。我在程序中没有看到任何错误。 但是,当我尝试运行该程序时,出现如下错误:

Error: Main method not found in class hello, please define the main method as:
   public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

我现在一无所知。 为什么要求我用 Java 语法创建一个 main 函数? 为什么在代码没有问题时会抛出错误(据我所知)? 我尝试寻找现有问题的答案,但没有一个是关于 Scala 开发的。

任何帮助将不胜感激。 谢谢。

您的 main 必须采用字符串数组。 目前它需要一个字符串

来自scala的官网:

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

https://www.scala-lang.org/documentation/getting-started.html

另外,请确保您在 Eclipse 中使用“作为 Scala 应用程序运行”选项。

在 tests 中一个同名的类

检查您的测试文件夹是否不包含object hello. 检查您的测试包以获取唯一的对象名称。 重命名后,问题必须解决。

如何实现main方法没有区别。 你可以这样做:

object hello {
  def main(args: String) = {
    println("Hello World!");
 }
}

或者像这样:

object hello extends App {
    println("Hello World!");
 }

``

这可能对每个人都没有帮助,但是我确实遇到了同样的问题,我清理了项目并且它起作用了!!!

在我的情况下(Intellij Ultimate 2018.1),我有一个与带有 main 方法的对象同名的测试:

  • src/main/scala/com/xx/xx/MyApp
  • src/test/scala/com/xx/xx/MyApp

当试图 Dun main...MyApp 失败时,此问题中出现异常。

刚刚将src/test/scala/com/xx/xx/MyAppMyAppTestMyAppTest

在我的例子中,我有一个伴生对象和一个同名的类,这在 Scala 中通常没问题,但似乎混淆了 Java。

将对象或类重命名为不同的名称解决了这个问题。

暂无
暂无

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

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