2013-04-16 125 views
5

我正在使用Eclipse編寫一個混合的Scala和Java程序。一切都很順利,直到大約一個小時前,當所有事情都沒有明顯的原因時,這一切都變成了地獄。神祕的Scala + Eclipse編譯錯誤

在Eclipse中報告沒有問題(Scala或Java),但Scala構建器似乎失敗了。它不再生成任何類文件。試圖在Scala中運行的「Hello World」現在結果的消息中:

工程「項目名稱」包含編譯錯誤(因此,沒有二進制文件已生產)

我使用默認設置斯卡拉建設者,它早期工作得很好。我沒有改變任何東西。

我已經嘗試清理和重建項目多次,無濟於事。構建進度對話框給出了Scala和Java構建都成功的外觀。程序的純Java部分成功編譯和執行。 (我已經暫時註釋了Java調用Scala的地方,因爲缺少Scala類文件導致'未解決的類'導入錯誤)

是否有Scala編譯器錯誤日誌,它會告訴我什麼會發生錯誤??我即將開始撕掉我的頭髮。

我不記得正是我所做的導致此,但它不會有什麼奇特:寫一些新的類,一些基本的重構等

+0

嘗試使用控制檯中的maven構建。更詳細的標誌(如'-X')可能會有所幫助。 – Landei

回答

1

首先看看在Eclipse控制檯輸出過程中建立。你可以看到很多有趣的東西:-)。

只是一個可能的方向考慮:

我不是100%肯定,但AFAIR Eclipse中使用Maven構建Java和Scala源(至少在我收到的項目)。如果您在項目根目錄中看到pom.xml文件,就是這樣,您可以嘗試發出像mvn compile這樣的命令並檢查日誌。有了Maven,可能會有很多問題從本地JAR存儲庫中的問題開始。

順便說一句Maven倉庫位於〜/ .m2。當然,其中大部分對應於Unix安裝。

+1

在Eclipse控制檯輸出中尋找好主意。我發現這個小寶石: '[$匿名$ 1]中的Java文件抑制錯誤:非法循環引用涉及類ExtensibleFieldSerializer [AnalysisCompile]編譯failed' 在一個地方,使用了我的Scala代碼那類。我評論了這條線,讓項目重建,並取消評論......現在一切都恢復正常了。 [另一個StackOverflow問題](http://stackoverflow.com/questions/13423693/illegal-cyclic-reference-error-in-eclipse-scala-plugin)表明這個怪異可能是一個Scala插件的bug。 – ljp

+0

:)我在scala標籤上的第一篇文章。我在包裝附近做了很多命令行工作,特別是Maven和sbt。如果沒有Eclipse,情況就不會如此不同。 –