天天看点

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端口不要被其他进程占用,因为启动需要这个端口。

继续阅读