• 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 -----------------------

  • 相关阅读:
    ES6学习之装饰器
    ES6学习之Class
    ES6学习之Async函数
    ES6学习之Generator函数
    for循环及break和continue的区别
    ES6学习之Iterator和For...of循环
    js检测对象属性
    ES6学习之Promise
    ES6学习之Reflect
    Visual Studio references中的package找不到
  • 原文地址:https://www.cnblogs.com/bingco/p/14478337.html
Copyright © 2020-2023  润新知