在用curator写zookeeper客户端的时候一直报一个错误
org.apache.zookeeper.zookeeper. init (ljava/lang/string ilorg/apache/zookeeper/watcher z)v
开始没有多想,直接度娘,给到的答复是zookeeper的jar包冲突了,删除一个即可,可是我找了半天根本不存在冲突的jar包,看来度娘不能信了,直接上谷歌,同样的问题返回的结果是以下代码中的init只支持zookeeper 3.4.6+的版本
client.create().creatingParentsIfNeeded()
.withMode(CreateMode.EPHEMERAL)
.forPath(path,"init".getBytes());
看了看pom.xml的内容,发现是3.4.6
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.6</version>
**<type>pom</type>**
</dependency>
注意上面的type这一行,马上去查了maven的依赖包,发现引入的并不是3.4.6,而是3.3.4 看见了吧,这就是问题所在! 马上删除type这一行,依赖包变了 为什么加上<type>pom</type>内容就变了呢?那是因为type标签是依赖类型的意思,默认为jar,这里用到了pom,说明引入了多个jar文件,引入的pom文件的内容是什么?这里我没有弄明白,明白的同学帮我解答一下。
来源:oschina
链接:https://my.oschina.net/u/79159/blog/690928