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 三人行,必有我師焉 閱讀(2260) 評論(0)  編輯  收藏

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


          網站導航:
           
          GitHub |  開源中國社區 |  maven倉庫 |  文件格式轉換 
          主站蜘蛛池模板: 磐安县| 葫芦岛市| 沈阳市| 平安县| 老河口市| 那坡县| 静乐县| 封开县| 门头沟区| 内乡县| 隆昌县| 邢台县| 天等县| 名山县| 澄城县| 克拉玛依市| 肇东市| 湖口县| 文安县| 潞城市| 仲巴县| 灵宝市| 安丘市| 迁西县| 北碚区| 望奎县| 隆子县| 临汾市| 佛冈县| 乐东| 惠东县| 北辰区| 中江县| 铜鼓县| 潼关县| 华阴市| 区。| 东台市| 钟祥市| 元江| 南城县|