maven依赖对zookeeper的版本冲突问题
我用的是springcloudAlibaba+zookeeper
zookeeper下载后
1,修改配置文件,conf目录下的zoo_sample.cfg修改为zoo.cfg。
2,打开zoo.cfg文件,编辑 dataDir=你的zookeeper绝对路径(安装目录)
3,Windows系统就启动bin目录下zkServer.cmd 脚本。linux系统就启动zkServer.sh 脚本
4,默认2181,直接启动,跑项目,进行连接,以为一帆风顺,但是现实往往会跟你开玩笑,果不其然,报错了,什么错。
啊,jar包冲突
原来是spring管理的依赖,是自带的3.5.3beta版的,跟我本地的下载的zookeeper版本对不上,那怎么解决呢。
5,我这里有两种解决办法,
第一种,修改pom:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
扣掉springcloud自带的jar,另外导入单独的apache的zookeeper坐标
我用的是3.4.9版本的,可自行更改为自己需要的版本。
第二种,下载对应的3.5.3beta版本的zookeeper:
官网下载地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.5.3-beta/zookeeper-3.5.3-beta.tar.gz
或者下载3.5.3beta到apache-zookeeper-3.6.3-bin之间的版本也能行。
重新跑起来,ok,完美。
这里遇到的坑,记录一下。