在用curator寫zookeeper客戶端的時候一直報一個錯誤java
org.apache.zookeeper.zookeeper. init (ljava/lang/string ilorg/apache/zookeeper/watcher z)v
開始沒有多想,直接度娘,給到的答覆是zookeeper的jar包衝突了,刪除一個便可,但是我找了半天根本不存在衝突的jar包,看來度娘不能信了,直接上谷歌,一樣的問題返回的結果是如下代碼中的init只支持zookeeper 3.4.6+的版本apache
client.create().creatingParentsIfNeeded() .withMode(CreateMode.EPHEMERAL) .forPath(path,"init".getBytes());
看了看pom.xml的內容,發現是3.4.6maven
<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文件的內容是什麼?這裏我沒有弄明白,明白的同窗幫我解答一下。code