一、  The method iterator() is ambiguous for the type KafkaStream<byte[],byte[]>

最近在学习消息总线Kafka的时候,在IDEA中写了一个简单的生产者和消费者demo。但是消费者端一直报错。错误信息如下:

  1  ConsumerIterator<byte[],byte[]> it =stream.iterator();
2 这句代码老是报错,The method iterator() is ambiguous for the type KafkaStream<byte[],byte[]>

后来博主在网上找了一些资料,解决方法记录一下:

poom.xml文件如下:

  1 <dependencies>
2 <dependency>
3 <groupId>org.apache.kafka</groupId>
4 <artifactId>kafka_2.9.2</artifactId>
5 <version>0.8.1.1</version>
6 <exclusions>
7 <exclusion>
8 <artifactId>jmxtools</artifactId>
9 <groupId>com.sun.jdmk</groupId>
10 </exclusion>
11 <exclusion>
12 <artifactId>jmxri</artifactId>
13 <groupId>com.sun.jmx</groupId>
14 </exclusion>
15 <exclusion>
16 <artifactId>jms</artifactId>
17 <groupId>javax.jms</groupId>
18 </exclusion>
19 <exclusion>
20 <groupId>org.apache.zookeeper</groupId>
21 <artifactId>zookeeper</artifactId>
22 </exclusion>
23 <exclusion>
24 <groupId>org.slf4j</groupId>
25 <artifactId>slf4j-log4j12</artifactId>
26 </exclusion>
27 <exclusion>
28 <groupId>org.slf4j</groupId>
29 <artifactId>slf4j-api</artifactId>
30 </exclusion>
31 </exclusions>
32 </dependency>
33 </dependencies>
34
35 <build>
36 <plugins>
37 <plugin>
38 <artifactId>maven-assembly-plugin</artifactId>
39 <configuration>
40 <descriptorRefs>
41 <descriptorRef>jar-with-dependencies</descriptorRef>
42 </descriptorRefs>
43 <archive>
44 <manifest>
45 <mainClass></mainClass>
46 </manifest>
47 </archive>
48 </configuration>
49 <executions>
50 <execution>
51 <id>make-assembly</id>
52 <phase>package</phase>
53 <goals>
54 <goal>single</goal>
55 </goals>
56 </execution>
57 </executions>
58 </plugin>
59 <!--<plugin>-->
60 <!--<groupId>org.apache.maven.plugins</groupId>-->
61 <!--<artifactId>maven-compiler-plugin</artifactId>-->
62 <!--<version>3.1</version>-->
63 <!--<configuration>-->
64 <!--<source>1.8</source>-->
65 <!--<target>1.8</target>-->
66 <!--<showWarnings>true</showWarnings>-->
67 <!--</configuration>-->
68 <!--</plugin>-->
69 </plugins>
70 </build>

首先将maven中的poom.xml文件中以下内容注释掉:

  1 <plugin>
2 <groupId>org.apache.maven.plugins</groupId>
3 <artifactId>maven-compiler-plugin</artifactId>
4 <version>3.1</version>
5 <configuration>
6 <source>${jdk.version}</source>
7 <target>${jdk.version}</target>
8 <showWarnings>true</showWarnings>
9 </configuration>
10 </plugin>

然后在自己的IDEA MAVEN项目中配置默认jdk版本:

配置方法如下:

第一种:在maven的安装目录找到settings.xml文件,在里面添加如下代码

  1 <profile>
2 <id>jdk-1.8</id>
3 <activation>
4 <activeByDefault>true</activeByDefault>
5 <jdk>1.8</jdk>
6 </activation>
7 <properties>
8 <maven.compiler.source>1.8</maven.compiler.source>
9 <maven.compiler.target>1.8</maven.compiler.target>
10 <maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
11 </properties>
12 </profile>

添加完后,在对IDEA进行设置。file->setting->maven->user settings file,user settings file那里选择maven安装目录下的settings.xml文件.

第二种方法是在第一种的基础之上:user settings的默认settigs.xml文件路径为:C:\Users\Administrator\.m2。只要把设置好的settings.xml文件复制到该目录下,然后update project就好了。

二、kafka消费消息的时候一直打印DEBUG org.apache.zookeeper.ClientCnxn - Got ping response for sessionid: 0x3638d0cc1260003 after 0ms

我的问题是因为集群中的zookeeper版本是3.4.5。但是我在IDEA的poom.xml文件中又排除了zookeeper的jar包。将poom.xml文件中对zookeeper的排除注释掉就可以了。

对exclusion解释:

用maven管理库依赖,有个好处就是连同库的依赖的全部jar文件一起下载,免去手工添加的麻烦,但同时也带来了同一个jar会被下载了不同版本的问题,好在pom的配置里面允许用<exclusion>来排除一些不需要同时下载的依赖jar 。

比如配置kafka,它会同时下载jmxri和jmxtools等相关的jar,但版本又不够新,这时可以排除它们:

  1 <dependency>
2 <groupId>org.apache.kafka</groupId>
3 <artifactId>kafka_2.9.2</artifactId>
4 <version>0.8.1.1</version>
5 <exclusions>
6 <exclusion>
7 <artifactId>jmxtools</artifactId>
8 <groupId>com.sun.jdmk</groupId>
9 </exclusion>
10 <exclusion>
11 <artifactId>jmxri</artifactId>
12 <groupId>com.sun.jmx</groupId>
13 </exclusion>
14 <exclusion>
15 <artifactId>jms</artifactId>
16 <groupId>javax.jms</groupId>
17 </exclusion>
18 <!--<exclusion>-->
19 <!--<groupId>org.apache.zookeeper</groupId>-->
20 <!--<artifactId>zookeeper</artifactId>-->
21 <!--</exclusion>-->
22 <exclusion>
23 <groupId>org.slf4j</groupId>
24 <artifactId>slf4j-log4j12</artifactId>
25 </exclusion>
26 <exclusion>
27 <groupId>org.slf4j</groupId>
28 <artifactId>slf4j-api</artifactId>
29 </exclusion>
30 </exclusions>
31 </dependency>

学习kafka自己发生的几个小错误记录的更多相关文章

  1. 【DM642学习笔记四】flash烧写过程——错误记录…

    (欢迎批评指正) 一,打开.cdd配置文件时出错: 解决:在FlashBurn配置窗口中,Conversion Cmd一栏可不用管:      菜单Program—Download FBTC,load ...

  2. 如何学习kafka?

      本文是我学习kafka的一个思路和总结,希望对刚接触kafka的你有所帮助.在学习kafka之前,最好能对kafka有一个简单的了解,可以提出一些问题,带着问题去学习,就会容易一些. 0 什么是k ...

  3. (数据科学学习手札80)用Python编写小工具下载OSM路网数据

    本文对应脚本已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 我们平时在数据可视化或空间数据分析的过程中经常会 ...

  4. Java生鲜电商平台-关于学习生鲜电商平台的思考(小程序/APP)

    Java生鲜电商平台-关于学习生鲜电商平台的思考(小程序/APP) 说明:最近群里面的一个网友问的一个问题,让我陷入了深思,他问的问题很基础也很真实,"大佬,你们是怎么学习的呢?" ...

  5. 从C#到Objective-C,循序渐进学习苹果开发(4)--代码块(block)和错误异常处理的理解

    本随笔系列主要介绍从一个Windows平台从事C#开发到Mac平台苹果开发的一系列感想和体验历程,本系列文章是在起步阶段逐步积累的,希望带给大家更好,更真实的转换历程体验.本文继续上一篇随笔<从 ...

  6. 论Postgres的“已提交的而且 xmin’比当前事务的XID小的记录对当前事务才是可见的”

    最近在网上看到这样一句话Postgres“已提交的而且 xmin 比当前事务的XID小的记录对当前事务才是可见的”.先不评断这句话的正确性:看下这句话的结构,因果关系: 按照此话的意思:要postgr ...

  7. Unity 安卓Jar包的小错误

    好久没写博客了,也就意味着好久没有学习了,近几天在搞Unity接入有米的SDk遇到了一点小错误,今天早上解决了,和大家分享下! 1,我们的目的是在在U3D中调用Android产生的Jar包,首先在Ec ...

  8. CSS网页布局中易犯的30个小错误

    即使是CSS高手,也难免在书写CSS代码的时候出一些小错误,或者说,任何一种代码都是如此.小错误却往往造成大问题,浪费很多无辜的时间来调试和排错.查看下面这份CSS网页布局中易犯的10个小错误,努力的 ...

  9. SQL Network Interfaces, error: 50 - 发生了 Local Database Runtime 错误。无法创建自动实例。

    今天在用VS2013自带的LocalDB调整数据库时出错,在网上也搜到许多方案,如卸载SQLServer LocalDB的程序.重新创建实例等都没有解决我的问题,也重新修改以及修复Vs,问题依旧存在, ...

随机推荐

  1. 从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目

    原文:从零开始学习 asp.net core 2.1 web api 后端api基础框架(二)-创建项目 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.ne ...

  2. matplotlib简单的新手教程和动画

    做数据分析,首先是要熟悉和理解数据,所以掌握一个趁手的可视化工具是很重要的,否则对数据连个主要的感性认识都没有,怎样进行下一步的design 点击打开链接 还有一个非常棒的资料  Matplotlib ...

  3. springmvc 与 springfox-swagger2整合

    一.pom.xml引入基于maven的swagger依赖 <dependency> <groupId>io.springfox</groupId> <arti ...

  4. Program for Linux USB-devices driver step by step (ONE)

    Program for Linux USB-devices driver 開始啃硬骨头~ 这里我打算一步步给出USB device driver 的demo.希望有心能可以共同交流学习. 希望认识很多 ...

  5. Swift - 关于 Optional 的一点唠叨

    Optional 是 Swift 的一个非常重要的特性,它除了提供类型安全的机制,也是 Swift 中很多语言特性的核心.当然,使用 Optional 时也要了解很多坑,这样能帮助我们更好的运用它. ...

  6. xmpp和OpenFire示例,即时聊天室,支持离线消息

    让我说说为什么写这个博客,这是因为我在上周末的研究XMPP和OpenFire,从互联网上下载Demo,但跑不起来.它花了很长的时间.它被改造.抬高.篇博文也是希望后边学习XMPP和OpenFire的同 ...

  7. Golang的演化历程

    本文来自Google的Golang语言设计者之一Rob Pike大神在GopherCon2014大会上的开幕主题演讲资料“Hello, Gophers!”.Rob大神在这次分 享中用了两个生动的例子讲 ...

  8. Angular 请求另一服务的api(请求代理)

    1.edit "start" of your package.json to look below 定义一个叫做start的新命令 "start": " ...

  9. WPF - Group分组对ListBox等列表样式的约束

    原文:WPF - Group分组对ListBox等列表样式的约束 在做WPF主题支持时,出现一个分组引起的莫名错误,可是折腾了我一番.在没有使用样式时,列表分组很正常,使用了别人写的ListBox列表 ...

  10. 静态资源(StaticResource)和动态资源(DynamicResource)

    一.文章概述 本演示介绍了WPF的静态资源和动态资源的基本使用,并对两者做了简单的比较. 二.定义并使用资源 <Window x:Class="Demo010.MainWindow&q ...