天天看點

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

研究zookeeper的源碼,第一步就是搭建環境,利用idea啟動zk的源碼,過程比較簡單,網上的教程也是不少,但是搞起來還是會遇到各種各樣的問題,這裡做個記錄。

環境介紹

1、zookeeper源碼3.5.5版本

2、idea編輯器

3、基于ant建構zookeeper

步驟

1、安裝ant,并添加環境變量

1、下載下傳位址:https://ant.apache.org/bindownload.cgi

2、下載下傳版本:1.10.7,zip包

3、解壓,配置環境變量ANT_HOME=D:\apache-ant-1.10.7-bin\apache-ant-1.10.7

4、編輯Path,增加%ANT_HOME%\bin

5、編輯classpath,增加%ANT_HOME%\lib

2、zookeeper源碼并建構

1、下載下傳zk源碼: https://github.com/apache/zookeeper

2、切換到分支:git checkout branch-3.5.5

3、執行ant eclipse建構:zk不支援idea項目,所有使用ant eclipse 直接建構成eclipse項目,建構成功會出現build success字樣。

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

一般這裡不會報錯。

idea導入zookeeper

1、使用idea導入eclipse項目

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

2、選擇eclipse項目,一直next即可。

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

3、啟動項目,測試。

1、啟動zookeeper服務,找到檔案ZooKeeperServerMain,并調用main方法。

2、發現報錯,Version.java下的類Info無法找到,需要建立這個類。

3、建立Info檔案,即可

package org.apache.zookeeper.version;

public interface Info {
    int MAJOR=1;
    int MINOR=0;
    int MICRO=0;
    String QUALIFIER=null;
    int REVISION=-1; //TODO: remove as related to SVN VCS
    String REVISION_HASH="1";
    String BUILD_DATE="2019-3-4";
}           

注意:如果還有其他類找不到,需要多進行幾次ant eclipse,或者重新拉zk的代碼,重新執行ant eclipse。這裡我也是遇到了這種情況,經過幾次就可以了。至于為什麼還沒有得到答案!

如果啟動過程遇到以下情況:

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

需要配置log4j的配置,參考下一步的配置。

4、配置啟動ZooKeeperServerMain參數

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

5、重新執行ZooKeeperServerMain的main方法,啟動zookeeper服務。

zookeeper(6)基于Idea啟動zookeeper源碼,開啟源碼之旅環境介紹步驟

6、注意8080端口不要被其他程序占用,因為啟動需要這個端口。

繼續閱讀