搭建Zookeepeer源码工程
一、搭建ant环境
1、下载ant&将ant解压至安装目录
http://ant.apache.org/bindownload.cgi
2、配置环境变量
ANT_HOME:配置ant的安装目录,如C:\Program Files\Apache\apache-ant-1.10.1
PAT中加:C:\Program Files\Apache\apache-ant-1.10.1\bin
CLASSPATH中加:C:\Program Files\Apache\apache-ant-1.10.1\lib
3、验证ant

注:第一个命令报错,是因为ant编译是从build.xml开始。
二、编译Zookeepeer源码
1、下载zookeepeer源码
https://github.com/apache/zookeeper
2、使用ant eclipse命令编译zookeepeer
注意,一定要在zookeepeer的源码文件夹的根目录。

这里就会一直下载依赖包,然后编译,。。。,直至成功,时间比较久。

3、编译错误解决
错误1:编译完成后,用IDE打开(这里我用的是Eclipse,机器上装的JDK为1.8),编译错误,显示Java compiler level does not match 和 '<>' operator is not allowed for source level below 1.7错误,说明我们的JDK版本设置的有问题,我们需要将这个工程的JDK调整为1.7。
调整方法为:右键项目--属性--勾选Enable project specific settings--Compiler compliance level--选择1.7--OK
错误2:org.apache.zookeeper.Version报错,org.apache.zookeeper.version.Info这个接口找不到。
这个接口可以通过运行org.apache.zookeeper.version.util.VerGen的Main方法来生成这个文件,方法需要传递3个参数,这里我直接固定了参数,如下所示:
public static void main(String[] args2) {
String[] args =new String[]{"1.0.0"," ",""};
System.out.println("args's length:"+args.length);
if (args.length != 3)
printUsage();
try {
Version version = parseVersionString(args[0]);
if (version == null) {
System.err.println(
"Invalid version number format, must be \"x.y.z(-.*)?\"");
System.exit(1);
}
String rev = args[1];
if (rev == null || rev.trim().isEmpty()) {
rev = "-1";
} else {
rev = rev.trim();
}
generateFile(new File("."), version, "", args[2]);
} catch (NumberFormatException e) {
System.err.println(
"All version-related parameters must be valid integers!");
throw e;
}
}
最后生成这个org.apache.zookeeper.version.Info.java这个文件,整个Zookeepeer工程编译成功。
PS:对于Info.java接口文件的生成,你也可以直接观察一下源码,直接新建这个接口文件,然后把相应的字段和值补全就好了。
参考文档
https://www.cnblogs.com/ivictor/p/4994112.html
http://blog.csdn.net/zhangyuan19880606/article/details/51508294
http://blog.csdn.net/puma_dong/article/details/52000283
搭建Zookeepeer源码工程的更多相关文章
- Spring1:Spring简介、环境搭建、源码下载及导入MyEclipse
框架学习前言 这个模块是面向Spring的,Spring的学习我是这么想的: 1.简单介绍Spring,主要是从网上借鉴一些重点 2.尽量说明清楚Spring的使用方法以及细节点 3.尽量以自己的理解 ...
- 基于Eclipse搭建Hadoop源码环境
Hadoop使用ant+ivy组织工程,无法直接导入Eclipse中.本文将介绍如何基于Eclipse搭建Hadoop源码环境. 准备工作 本文使用的操作系统为CentOS.需要的软件版本:hadoo ...
- 搭建Spark源码研读和代码调试的开发环境
转载自https://github.com/linbojin/spark-notes/blob/master/ide-setup.md 搭建Spark源码研读和代码调试的开发环境 工欲善其事,必先利其 ...
- 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境
本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码 ...
- Django搭建及源码分析(三)---+uWSGI+nginx
每个框架或者应用都是为了解决某些问题才出现旦生的,没有一个事物是可以解决所有问题的.如果觉得某个框架或者应用使用很不方便,那么很有可能就是你没有将其使用到正确的地方,没有按开发者的设计初衷来使用它,当 ...
- [原创]在Windows和Linux中搭建PostgreSQL源码调试环境
张文升http://ode.cnblogs.comEmail:wensheng.zhang#foxmail.com 配图太多,完整pdf下载请点这里 本文使用Xming.Putty和VMWare几款工 ...
- IDEA创建Tomcat8源码工程流程
上一篇文章的产出,其实离不开网上各位大神们的辅助,正是通过他们的讲解,我才对Tomcat的结构有了更进一步的认识. 但在描述前后端交互的过程中,还有很多细节并没有描述到位,所以就有了研究Tomcat源 ...
- netty的调优-及-献上写过注释的源码工程
Netty能干什么? Http服务器 使用Netty可以编写一个 Http服务器, 就像tomcat那样,能接受用户发送的http请求, , 只不过没有实现Servelt规范, 但是它也能解析携带的参 ...
- 在IDEA中搭建Java源码学习环境并上传到GitHub上
打开IDEA新建一个项目 创建一个最简单的Java项目即可 在项目命名填写该项目的名称,我这里写的项目名为Java_Source_Study 点击Finished,然后在项目的src目录下新建源码文件 ...
随机推荐
- Nginx 增加 Image 缩略图 功能
Nginx 增加 Image 缩略图功能,需要使用Nginx Image 缩略图 模块 官网地址:https://github.com/3078825/ngx_image_th ...
- git基础介绍
git基础介绍 这是git操作的基础篇,是以前的写的操作文档,就没有进行手打,直接把图片贴进来了,你们担待哈,有不正确的地方可以指正出来,我将在第一时间去修改,多谢哈! 一.文件状态:git系统的文件 ...
- (后台)详细了解java中的null(转)
转自CSDN: 相信大家对于NullPointException 这个让人又爱又恨的不陌生吧..对于Java程序员来说,null是令人头痛的东西.时常会受到空指针异常(NPE)的骚扰 .今天我们就来谈 ...
- (网页)Angular.js 中 copy 赋值与 = 赋值 区别
转自st.gg Angular.js 中 copy 赋值与 = 赋值 区别 为什么用 $scope.user = $scope.master; $scope.master 会跟着 $scope.use ...
- 操作过程-CentOS7下添加新硬盘扩充已经存在的逻辑卷分区的存储空间
Linux添加硬盘扩充已有分区存储空间方式 总体步骤 磁盘初始化分区 创建物理卷 扩展卷组 扩展逻辑卷 通知文件系统生效 磁盘初始化分区 [root@oracledb ~]# fdisk -l 磁 ...
- exception is feign.RetryableException: Connection refused (Connection refused) executing GET http://......
2018-03-23 10:00:58.430 ERROR 31889 --- [nio-4321-exec-7] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Se ...
- Java 数据驱动测试
适用场景 测试搜索功能, 基于数据类型需要测多种不同的数据, 比如最大值, 小数, 负数, 字符串, 特异符号等等. 如果直接写代码, 每一种数据类型都需要写一遍代码, 冗长且不方便调试. 如果采用数 ...
- C++ 获取当前正在执行的函数的相关信息
(我的运行环境:win10x64+vs2015通过, 有的环境KUbuntu 8.04.1 x64 g++ 4.2.3也通过了)主要通过宏来实现:(注意,开头和结尾都是两个下划线) 1. __PRET ...
- python第二十天
logging模块 re正则表达式
- git 创建本地仓库、远程仓库,上传项目
1.在本地想创建git仓库的地方创建本地仓库 首先右键打开 Git Bash Here,如果没有,请先安装git,下载地址:https://git-scm.com/downloads git init ...