zookeeper源码编译教程

环境:

  openjdk11

  IntelliJ IDEA 2020.3.1

  apache-maven-3.5.0

  zookeeper-master.zip(3.8.0-SNAPSHOT)

编译:

  1. 导入maven工程:选中pom.xml鼠标右键点击

   

zookeeper源码编译教程_第1张图片

漫长的拉包 ... ...

  2. 双击Alt打开maven列表,勾选full-build(注:不勾选不会生成org.apache.zookeeper.data.ACL,org.apache.zookeeper.data.Stat 这两个类!)

   

zookeeper源码编译教程_第2张图片

   3. 编写打包指令

  zookeeper-server 下的bom.xml 添加resources 日志,

  并将conf/log4j.properties 拷贝至子工程也就是启动工程:zookeeper-server/src/main/resources下

  

zookeeper源码编译教程_第3张图片

  

zookeeper源码编译教程_第4张图片

    

zookeeper源码编译教程_第5张图片

         zookeeper源码编译教程_第6张图片

  项目根工程【zookeeper-master】: clean package -Dmaven.test.skip=true -Dmaven.javadoc.skip=true

 zookeeper源码编译教程_第7张图片

   保存,执行!

 运行:

  1. 根据你实际的项目文件名配置zoo.cfg (我的父工程项目名已改为zookeeper),目录在conf下,拷贝一份zoo_sample.cfg为zoo.cfg既可;

  

zookeeper源码编译教程_第8张图片

  将resources设置为资源目录

  

zookeeper源码编译教程_第9张图片

  2.在子工程zookeeper-server下找到org.apache.zookeeper.server.quorum.QuorumPeerMain启动类

   

zookeeper源码编译教程_第10张图片

 zookeeper源码编译教程_第11张图片

  这时启动是不行的,会报错:NoClassDefFoundError!

  我们还要将子工程zookeeper-server的pom.xml里的scope::provided属性都注释或删除掉(图中只是注释了其中一个,如果读者不知道那些需要注释就把所有的provided都注释吧)

  

zookeeper源码编译教程_第12张图片

 再次启动:

zookeeper源码编译教程_第13张图片

 客户端:

  zookeeper-server下org.apache.zookeeper.ZooKeeperMain类 右键创建启动配置

  

zookeeper源码编译教程_第14张图片

  zookeeper源码编译教程_第15张图片

  保存运行

   zookeeper源码编译教程_第16张图片

 完美运行!!!

后记:每个人的电脑都有一些或大或小的异同,博主本人是能够执行成功的

 ----------------------- over -----------------------

你可能感兴趣的:(maven,zookeeper,java,大数据,eclipse)