[英]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/MyApp
重MyAppTest
為MyAppTest
在我的例子中,我有一個伴生對象和一個同名的類,這在 Scala 中通常沒問題,但似乎混淆了 Java。
將對象或類重命名為不同的名稱解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.