Zookeeper+Kafka+Spark 管理offset 出现第三方jar版问题

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.curator.utils.PathUtils.validatePath(Ljava/lang/String;)V
at org.apache.curator.framework.imps.NamespaceImpl.<init>(NamespaceImpl.java:37)
at org.apache.curator.framework.imps.CuratorFrameworkImpl.<init>(CuratorFrameworkImpl.java:128)
at org.apache.curator.framework.CuratorFrameworkFactory$Builder.build(CuratorFrameworkFactory.java:122)
at com.myd.cn.OffsetManager.KafkaZkManager$.<init>(KafkaZkManager.scala:28)
at com.myd.cn.OffsetManager.KafkaZkManager$.<clinit>(KafkaZkManager.scala)

at com.myd.cn.OffsetManager.KafkaZkManager.main(KafkaZkManager.scala)


如果是NoDefClassERROR,NoMatchMethodERROR,一般都是jar版本不匹配(一般是过低)问题.

解决:引入依赖

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.7.1</version>
</dependency>
注意: 这个curator有三个依赖,确保所有的版本都是一致的(2.7.1) ,可以硬性指定,在pom.xml 
强制引入下面三个依赖,指定版本,如下:

<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-client</artifactId>
    <version>2.7.1</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-recipes</artifactId>
    <version>2.7.1</version>
</dependency>
<dependency>
    <groupId>org.apache.curator</groupId>
    <artifactId>curator-framework</artifactId>
    <version>2.7.1</version>
</dependency>

猜你喜欢

转载自blog.csdn.net/dymkkj/article/details/79848284