簡體   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