maven依賴對zookeeper的版本衝突問題

  • 2021 年 12 月 9 日
  • 筆記

我用的是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:
官網下載地址://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,完美。
這裡遇到的坑,記錄一下。