java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.defaultNumHeapArena()I

问题:

SparkStreaming开发过程中,遇到了netty版本冲突问题:

Exception in thread "main" java.lang.NoSuchMethodError: io.netty.buffer.PooledByteBufAllocator.defaultNumHeapArena()I

使用Maven命令查看pom依赖(或者直接使用IDEA的Maven面板查看):

mvn dependency:tree

随即找到netty所处的包:

[INFO] |  +- org.apache.hadoop:hadoop-hdfs:jar:2.6.0-cdh5.15.1:compile
[INFO] |  |  +- io.netty:netty:jar:3.10.5.Final:compile

解决方案:

在指定依赖中添加:

    <!--hadoop依赖-->
    <dependency>
      <groupId>org.apache.hadoop</groupId>
      <artifactId>hadoop-client</artifactId>
      <version>${hadoop.version}</version>
      <!--将netty包排除-->
      <exclusions>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

然后添加高版本netty:

    <!--解决io.netty.buffer.PooledByteBufAllocator.defaultNumHeapArena()I异常,-->
    <dependency>
      <groupId>io.netty</groupId>
      <artifactId>netty-all</artifactId>
      <version>4.1.18.Final</version>
    </dependency>
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值