2010-04-19 132 views
7

自從2.x和IDE在20多年以來一直在使用Eclipse(自從Turbo Pascal和Turbo C在80年代末!)。用IntelliJ IDEA 9.0.1 for Scala卡在「Hello World」

(即序言應該暗示,「我不是白癡」 ......但聽起來並不那麼聰明,因爲我讀它...大聲笑: - ])

現在我試圖在IntelliJ 9.0.1中使用Scala調試器。我已經辭職了自己的老待命的「Hello World」的伎倆來檢查環境是否設置正確:

 
class hello { 
    def main(a: Array[String]) = println("got args: " + a) 
} 

我也試過這個版本,以防萬一:

 
object hello extends Application { 
    println("hi") 
} 

唉,我甚至無法獲得這個簡單的Scala示例來運行。我想最終在其中放置一個斷點,但現在只是運行它會很好。我有Java 1.6u20和Scala插件0.3.473(2010年1月)。下面的錯誤總結我的經驗:

alt text http://img535.imageshack.us/img535/842/ij9.jpg

什麼可能會被我做錯了?

謝謝

+0

好了,知道了。 ..從第一個例子中的def main刪除'='修復它!我猜main()的類型簽名仍然很重要:)但是,第二個例子應該可以工作,但不能。有任何想法嗎 ??? (我的實際問題已解決,但現在我很好奇!)謝謝 – 2010-04-19 13:29:26

+0

我推薦使用9.0.2 EA和最新的Scala插件。 JetBrains的EA版本(特別是對於發佈版本)幾乎總是接近釋放質量。雖然Scala插件人員在發行說明部門中的表現非常糟糕,但插件在過去幾個月穩步改進,並且保持最新版本值得。 – 2010-04-19 14:06:41

+0

附註:應用程序特徵存在問題,現在已棄用。改用應用程序。 – elbowich 2012-03-05 05:27:35

回答

5

從你的截圖它看起來像你使用:

class hello { 
    def main(a: Array[String]) = println("got args: " + a) 
} 

主要方法必須位於支持主要方法的對象上。

大寫對象/類名稱是慣例,但它沒有強制執行。

+0

這是最接近的答案...更改爲對象並刪除「=」修復了即時問題(我現在可以通過該配置對話框,但程序無法真正運行)。你可能想編輯你的答案來反映這一點。謝謝 – 2010-04-20 00:57:36

+0

我剛剛嘗試了一個測試項目,如上所述,並有非常類似的問題。我創建了50個以上的小型Scala項目,唯一的問題是將編譯器和庫罐默認設置(從插件)更改爲選擇的scala發行版。但是我看到創建運行配置的相同問題,我可以編譯,但運行配置對話框無法找到Hello對象,解決方法是不使用選擇器並在Main類字段中輸入「Hello」。仍然存在關於「在Hello類中找不到主要方法」的警告,但運行配置將起作用。聯繫支持,他們非常敏感。 – 2010-04-20 09:47:25

1

它可能是插件中的錯誤。如果你將對象定義爲Hello(大寫),那麼它至少在我的機器上起作用。

+1

我試過了,但並沒有解決問題。 – 2010-04-19 13:19:22

1

您的文件是hello.scala嗎? (我看不出它有.scala擴展你的截圖) - 它必須是一個.scala文件,否則編譯器將無法編譯

+1

IntelliJ隱藏擴展名。 Windows資源管理器顯示.scala – 2010-04-19 13:17:49