【问题标题】:how to solve java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy in storm如何解决 java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy instorm
【发布时间】:2015-05-31 15:15:04
【问题描述】:

我该如何解决

java.lang.NoClassDefFoundError: com/google/common/base/Preconditions 在 org.apache.curator.ensemble.fixed.FixedEnsembleProvider.(FixedEnsembleProvider.java:39) 在 org.apache.curator.framework。

java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy

在storm-kafka集成中。

我正在使用:

  • kafka_2.9.2-0.8.1.1

  • 动物园管理员 - 3.4.6

  • 风暴 - 0.9.3

更新

pom.xml

    <dependency>
        <groupId>org.scala-lang</groupId>
        <artifactId>scala-reflect</artifactId>
        <version>2.10.2</version>
    </dependency>
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-kafka</artifactId>
        <version>0.9.3</version>
    </dependency>
    <dependency>
        <groupId>org.apache.kafka</groupId>
        <artifactId>kafka_2.9.2</artifactId>
        <version>0.8.1.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.zookeeper</groupId>
        <artifactId>zookeeper</artifactId>
        <version>3.4.6</version>
        <exclusions>
            <exclusion>
                <groupId>com.sun.jmx</groupId>
                <artifactId>jmxri</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.jdmk</groupId>
                <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.jms</groupId>
                <artifactId>jms</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.apache.storm</groupId>
        <artifactId>storm-core</artifactId>
        <version>0.9.3</version>
    </dependency>
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>2.6.0</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>

【问题讨论】:

  • 如果你是usnig maven ..你能分享你的pom.xml
  • 你能不能试试把&lt;artifactId&gt;kafka_2.9.2&lt;/artifactId&gt;改成&lt;artifactId&gt;kafka_2.10&lt;/artifactId&gt;

标签: apache-storm apache-kafka


【解决方案1】:

对于org/apache/curator/RetryPolicy,你应该使用

<dependency>
  <groupId>org.apache.curator</groupId>
  <artifactId>curator-client</artifactId>
  <version>2.11.0</version>
</dependency>

注意 ZooKeeper 3.4.6,与 Curator 兼容的最新版本(截至本文为止)是 2.11.0

但是curator-client 也需要curator-framework。所以你可能想添加

<dependency>
  <groupId>org.apache.curator</groupId>
  <artifactId>curator-framework</artifactId>
  <version>2.11.0</version>
</dependency>

【讨论】:

  • 2.11.0 应该是 2.11.0
【解决方案2】:

在您的 pom.xml 中添加以下行

<dependency>
  <groupId>org.apache.curator</groupId>
  <artifactId>curator-test</artifactId>
  <version>2.4.0</version>
  <exclusions>
    <exclusion>
      <groupId>org.jboss.netty</groupId>
      <artifactId>netty</artifactId>
    </exclusion>
    <exclusion>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-log4j12</artifactId>
    </exclusion>
  </exclusions>
</dependency>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-26
    • 1970-01-01
    • 2012-06-24
    • 2015-12-02
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多