最近需要在ZooKeeper某个旧版上进行些改造,旧版构建工具是Ant、Ivy,和当前流行的略有差异,因此这里进行记录。

检出分支

从Github获取ZooKeeper源码之后,需要切换到目标版本分支。ZooKeeper发布都有打tag,因此可以从tag中获取,

git tag -l

找到对应目标tag之后,

git checkout -b branch_name tag_name

打开工程目录

在IntelliJ IDEA中打开ZooKeeper目录。默认情况下IDEA无法识别工程,

设置Project SDK

在菜单栏中选择“File - Project Structure - Project”,设置Project SDK。JDK版本和语言级别都设置为1.8。

同时设置Project compile output输出目录。

设置Sources Root

ZooKeeper代码主体为Java,将“src/java/main”目录设置为Sources Root。设置之后,该目录下的Java代码被IDEA识别了,但会发现缺少依赖包。

获取依赖包

命令行下运行,

ant

运行之后会自动生成部分代码。将自动生成的代码目录“src/java/generated”也设置为Sources Root。

同时依赖包夜被下载到了本地,在菜单栏中选择“File - Project Structure - Libraries”,增加Java Libraries。添加之代码中就可以识别出依赖包中的类了。

触发编译

完成上述步骤之后可以在IDEA中触发Build操作,如无意外则会顺利执行。

发布打包

在IDEA中完成修改之后,最后的打包操作还是可以通过命令行的ant来触发。生成的包会位于build目录下。