2014-06-29 91 views
1

編譯星火給出了這樣的編譯錯誤:爲什麼IntelliJ IDEA會拋出編譯錯誤?

enter image description here

要解決我修改Utils.classIsLoadable方法只是返回true

def classIsLoadable(clazz: String): Boolean = { 
    // Try { Class.forName(clazz, false, getContextOrSparkClassLoader) }.isSuccess 
    true 
} 

我知道這不是一個很好的修復,但至今星火似乎從源代碼正確運行。這個編譯錯誤是否曾經歷過,是否有修復?現在是否會返回true就足夠了,我不確定修改此返回值可能會產生什麼影響?

回答

3

我建議使用Maven或SBT從命令行編譯Spark,而不是嘗試使用IDE的編譯器。許多核心的Spark開發人員使用IntelliJ來編輯Spark的源代碼,但仍然使用命令行編譯器,主要是因爲很難讓項目在IDE內正確構建。即使你使用的是外部的編譯器,你還應該能夠從的IntelliJ的語法高亮,類型檢查等受益

下面是從星火開發者郵件列表中的相關討論:http://apache-spark-developers-list.1001551.n3.nabble.com/IntelliJ-IDEA-cannot-compile-TreeNode-scala-td7090.html

注意星火用戶應該能夠使用IntelliJ編譯依賴於Spark的應用程序;此問題僅影響想要構建Spark本身的開發人員。

如果您有意修復構建以使用IntelliJ,我建議您在Spark issue tracker上打開一張票。

相關問題