Feeling

              三人行,必有我師焉

             ::  :: 新隨筆 :: 聯系 ::  :: 管理 ::
            185 隨筆 :: 0 文章 :: 392 評論 :: 0 Trackbacks
          Spark源代碼下載地址: http://spark.apache.org/downloads.html

          下載后,直接用 Scala IDE 通過已存在的項目導入到Eclipse workspace中去,然后Eclipse會自動進行編譯。第一次編譯會報很多錯誤,不過總的來說,導致編譯錯誤的源頭有三個:
          1、Scala編譯器版本錯誤
          2、Eclipse Maven插件不能自動識別spark project的一些pom,報Plugin execution not covered by lifecycle configuration異常
          3、一些項目,maven會自動生成scala和java文件,但是這些自動生成的代碼文件沒有配置在eclipse項目的classpath里。

          針對第一種錯誤,比較簡單,對于每個scala項目,右鍵屬性選擇spark對應的scala編譯器版本。



          當然spark代碼里的項目有幾十個,只能手工一個個設置了,比較傻,沒辦法,還不停的彈出對話框,不停地回車吧。

          編譯的難點主要在第二種錯誤上,比如spark-sql項目的pom, 里面有個build-helper-maven-plugin,它下面的execution,eclipse maven插件無法識別,報Plugin execution not covered by lifecycle configuration異常,解決方案參見 https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html,先使用 Eclipse quick-fix選項自動修復,忽略此 maven goal,Eclipse 會為 pom.xml自動添加一段xml代碼,包含在 pluginManagement section中,里面有一段 <action><ignore/></action>,此處手動修改成
          <action>
              <execute>
                  <runOnIncremental>false</runOnIncremental>
              </execute>
          </action>
          然后右鍵 maven update project 就OK了。

          一共有5個project需要修改pom,如圖


          修改pom后重新編譯,依舊會報一些錯誤,這些錯誤都是由于maven自動生成的java和scala代碼沒有添加到classpath里導致的編譯錯誤,只需要手工添加一下即可,需要手工添加項目有 spark-streaming-flume-sink 的 src_managed\main\compiled_avro 目錄 和 spark-sql 項目的 test\gen-java 目錄。

          全部編譯好以后的截圖:


          修改完以后,Spark代碼全部編譯下來大概耗時25分鐘左右(CPU 雙核 I7 4600)

          原文地址:http://www.aygfsteel.com/cnfree/archive/2016/11/08/431965.html
          posted on 2016-11-08 13:12 三人行,必有我師焉 閱讀(2265) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          GitHub |  開源中國社區 |  maven倉庫 |  文件格式轉換 
          主站蜘蛛池模板: 东丰县| 沾化县| 赣州市| 桂平市| 舟曲县| 莱西市| 香港| 肥城市| 泰安市| 农安县| 南漳县| 会昌县| 惠东县| 石屏县| 沛县| 西华县| 温泉县| 蓝山县| 六盘水市| 平陆县| 沛县| 海原县| 寻甸| 桦川县| 长子县| 洞头县| 英吉沙县| 水富县| 汉寿县| 浦江县| 乳源| 普格县| 武邑县| 富民县| 铁力市| 渝北区| 霍林郭勒市| 独山县| 富平县| 介休市| 大名县|