1.下載hive源碼
官網下載
我下載的hive-2.0.0版本的。
2.使用maven編譯。
一開始我要使用的是ant進行編譯的,可是我的源碼目錄下沒有build.xml文件,只有pom.xml文件,這使得我在使用ant編譯的時候總是會報這樣的錯:
Buildfile: build.xml does not exist!
Build failed
上網查了好多方法,最終卻無功而返;只能想其他方法。
突然感覺pom.xml 怎麼那麼眼熟,以前建的maven 工程中也都有個pom.xml文件麼,這時我就上網查了一下關於maven編譯的方法:
1.首先下載maven:
sudo apt-get install maven
2.開始編譯Hive,進入下載的hive源碼文件加 目錄 命令行輸入:
mvn clean install -DskipTests -Phadoop-2
3.清空相關的輸出:
mvn eclipse:clean
4.編譯成eclipse工程(此過程比較慢我進行了將近一個小時才完成):
mvn eclipse:eclipse -DdownloadSources -DdownloadJavadocs -Phadoop-2
3.編譯成功後就可以直接導入到eclipse中了
直接直接選中編譯完後的hive源碼文件夾 import 導入到eclipse中就可以:
import -> General -> existing projects into workspase -> Browse… -> 選中編譯完後的hive源碼文件夾 -> finish
導入到工作空間之後回報錯:(如圖)
這時problems標籤下會出現4969個錯誤:(如圖)
這裏最主要的錯誤是
Unbound classpath variable: 'M2_REPO/**/***/***.jar'
說是classpath變量的jar包找不到了,其實這些jar包是存在在我們的maven本地庫中的,本地庫默認位置在用戶目錄下的.m2文件夾下(隱藏文件使用Ctrl+h顯示)關聯一下即可,具體步驟:
Eclipse->Windows->Preferences->java->Build Path->Classpath Variables
new一個,名字當然是M2_REPO,屬性選folder,導入本地庫即可
錯誤解決!