zookeeper源码编译教程
环境:
openjdk11
IntelliJ IDEA 2020.3.1
apache-maven-3.5.0
zookeeper-master.zip(3.8.0-SNAPSHOT)
编译:
1. 导入maven工程:选中pom.xml鼠标右键点击
漫长的拉包 ... ...
2. 双击Alt打开maven列表,勾选full-build(注:不勾选不会生成org.apache.zookeeper.data.ACL,org.apache.zookeeper.data.Stat 这两个类!)
3. 编写打包指令
zookeeper-server 下的bom.xml 添加resources 日志,
并将conf/log4j.properties 拷贝至子工程也就是启动工程:zookeeper-server/src/main/resources下
项目根工程【zookeeper-master】: clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true
保存,执行!
运行:
1. 根据你实际的项目文件名配置zoo.cfg (我的父工程项目名已改为zookeeper),目录在conf下,拷贝一份zoo_sample.cfg为zoo.cfg既可;
将resources设置为资源目录
2.在子工程zookeeper-server下找到org.apache.zookeeper.server.quorum.QuorumPeerMain启动类
这时启动是不行的,会报错:NoClassDefFoundError!
我们还要将子工程zookeeper-server的pom.xml里的scope::provided属性都注释或删除掉(图中只是注释了其中一个,如果读者不知道那些需要注释就把所有的provided都注释吧)
再次启动:
客户端:
zookeeper-server下org.apache.zookeeper.ZooKeeperMain类 右键创建启动配置
保存运行
完美运行!!!
后记:每个人的电脑都有一些或大或小的异同,博主本人是能够执行成功的
----------------------- over -----------------------