hbase源碼編譯(一)


一:環境:

  1.1. 安裝jdk,配置環境變量,驗證:進入cmd環境,輸入java -version驗證

C:\WINDOWS\system32>java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b25)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

       1.2. 安裝maven,驗證:進入cmd環境,輸入mvn驗證

C:\WINDOWS\system32>mvn -v
Apache Maven 3.5.0 (ff8f5e7444045639af65f6095c62210b5713f426; 2017-04-04T03:39:06+08:00)
Maven home: E:\java\apache-maven-3.5.0\bin\..
Java version: 1.8.0_40, vendor: Oracle Corporation
Java home: E:\Program Files\Java\jdk1.8\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 8.1", version: "6.3", arch: "amd64", family: "windows"

       1.3. 安裝cygwin ( 編譯需要用到bash ,官網:https://cygwin.com/install.html  安裝筆記參考...

          安裝完成后將cygwin/bin目錄加入到系統環境變量PATH中,重啟eclipse(ides)

  驗證:進入cmd環境,輸入bash,跳轉到cygwin環境中即安裝成功。

C:\Windows\System32>bash

admin@DESKTOP-234IJAK /cygdrive/c/Windows/System32

 

 

 

二:源碼編譯

  2.1 從github中下載hbase源碼( 本人編譯源碼的版本為hbase2.0),導入eclpse.

 

  2.2 在eclipse中編譯單個模塊(編譯整個模塊有可能報錯),先編譯hbase-thrift(無依賴), hbase-common(需要bash環境)進行驗證

   在改包目錄下執行 mvn clean install -DskipTests  或者在eclpse中郵件項目 ->    Run As   -> Maven build   ->   Main   ->   goals中輸入clean install -DskipTests, 點擊Run 

編譯執行結果如下:

 

 

  2.3 編譯hbase-common如果遇到不能執行bash的問題

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (generate) on project hbase-common: 
An Ant BuildException has occured: Execute failed: java.io.IOException: Cannot run program "bash": CreateProcess error=2, 系統找不到指定的文件。 -> [Help 1]

  可以依次嘗試設置cygwin的環境變量:a. 同時添加到用戶的環境變量PATH中,    b. 將環境變量放在最前面    c.重啟電腦(我最后是重新后可以的)。

     2.3.1 網友反饋的src/saveVersion.sh中 whoami的問題,我在使用了cygwin后試驗了一下,即使不設置固定值也是可以的。

 

   2.4 編譯hbase-common沒有問題后,可以編譯hbase-client或者 hbase-server。

 

編譯整個hbase項目時。遇到幾個模塊編譯失敗,暫時是注釋掉了,也不影響看源碼。

mvn package -Dmaven.test.skip.exec=true
mvn clean package -DskipTests assembly:single

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM