序:
最近公司中使用到otter进行数据同步,otter又依赖于zookeeper。所以就在github上下载了一份3.4.14的代码,编译就出现了这篇文章。其实可以直接下载release版本的,但是既然下载了源码就自己编译下。
0x01:准备资源
zookeeper源码:https://github.com/apache/zookeeper/releases
eclipse
ant
0x02:ant重构
下载ant后解压,并新建ANT_HOME环境变量,变量值为ant的解压路径。在path变量中添加%ANT_HOME%\bin。
解压zookeeper源码,并cmd到解压后的根目录(与build.xml同级),输入ant eclipse
ant eclipse
需要等待几分钟(取决于网速),最后出现BUILD SUCCESSFUL即成功。
0x03:导入Eclipse
打开Eclipse -> File -> Import -> Existing Projects into Workspace -> Finish
导入后运气不好会有下面几个错误。需要修改一下编译的jdk,版本为1.6。ZooKeeper项目右键Properties -> Java Compiler
正常情况下错误应该只剩下9个,原因是没有info.java版本信息,这个应该是每次打包时候手动生成的版本号。可以通过org.apache.zookeeper.version.util.VerGen.java生成。点击VerGen.java右键 -> Run As -> Run Configurations -> Arguments,在Program arguments中输入三个参数,用空格分隔,第一个为ZooKeeper版本号,第二个为修订版本号,第三个为编译日期后Run,执行后刷新项目,会生成一个org.apache.zookeeper.version.info.java的文件,拷贝到ZooKeeper\zookeeper-server\src\main\java\org\apache\zookeeper\version下,刷新项目后解决所有异常。
0x04:生成JAR文件
选中除test项目外的java文件右键Export -> JAR file -> Finish,勾选中右侧的LICENSE.txt文件
0x05:运行Zookeeper
将生成JAR文件拷贝到项目的根目录,重命名~/conf/zoo_sample.cfg为~/conf/zoo.cfg。运行~/bin/zkServer.cmd即可。
来源:oschina
链接:https://my.oschina.net/u/4331344/blog/3542044