首先按照官网的示例,只加入了以下依赖:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.3</version>
</dependency>
运行出现以下异常:
Caused by: java.lang.ClassNotFoundException: org.apache.curator.framework.CuratorFrameworkFactory
这是由于缺少curator-framework依赖导致的,然后加上curator-framework依赖:
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>4.0.1</version>
</dependency>
再次运行,出现如下异常:
Unable to read additional data from server sessionid 0x100016d92220006, likely server has closed socket, closing socket connection and attempting reconnect
Caused by: org.apache.zookeeper.KeeperException$UnimplementedException: KeeperErrorCode = Unimplemented for
这个是由于zookeeper的jar与使用的zookeeper版本不对应导致的,查看依赖树,可以看到4.0.1的curator-framework依赖的是3.5.3-beta,而我用的zookeeper版本是3.4.13,这时候剔除curator-framework的zookeeper依赖即可,加上使用的zookeeper对应的依赖办版本即可:
<!-- https://mvnrepository.com/artifact/org.apache.curator/curator-framework -->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<exclusions>
<exclusion>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</exclusion>
</exclusions>
<version>4.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper -->
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.13</version>
</dependency>
再次运行,发现报如下错误:
java.lang.ClassNotFoundException: org.apache.zookeeper.Watcher
检查依赖,发现依赖并没有更新,clean,complie之后再次运行即可。