使用IntelliJ IDEA搭建kafka源码环境时遇到Output path错误解决办法

 kafka源码环境搭建好之后,需要在IntelliJ IDEA开发工具中以debug方式启动kafka服务器来测试消息的生产和消费。

但是在启动kafka.Kafka类中的main方法(也就是运行 kafka-0.10.0.1-src\core\src\main\scala\kafka\Kafka.scala 类中的main方法)的时候遇到一个错误,错误信息的截图如下:

 

Error:scalac: Output path D:\kafka-0.10.0.1-src\build is shared between: 
Module 'kafka-0.10.0.1-src' production, Module 'kafka-0.10.0.1-src' tests Please configure separate output paths to proceed with the compilation. TIP: you can use Project Artifacts to combine compiled classes if needed.

 

大概意思是说kafka-0.10.0.1-src这个模块的编译输出目录有问题,需要为production和tests指定不同的编译输出目录。

 

解决方案:

1.首先指定project的编译输出目录:

 

2.然后修改kafka-0.10.0.1-src模块的编译输出目录:

 

再次在idea中启动kafka服务器,会看到scalac开始编译:

 

 

配置kafka服务器(添加一个application,main class选择kafka.Kafka这个scala对象,因为它里面有一个main方法,启动这个main方法就相当于启动了kafka服务器)启动参数:

 

配置生产者(ConsoleProducer,它里面也有一个main方法,启动该main方法就相当于启动了一个kafka生产者)启动参数(在Program arguments中可以给生产者传递启动参数):

 

配置消费者(ConsoleConsumer,它里面也有一个main方法,启动这个main方法就相当于启动了一个消费者)启动参数(在Program arguments中可以给消费者传递启动参数):

 

以debug方法启动kafka服务器成功:

 

以debug方式启动生产者成功,可以在控制台输入消息,并回车,就可以向kafka服务器发送消息:

 

同样以debug模式启动消费者,在控制台可以看到有消息被消费:

 

 

posted @ 2017-12-01 19:39  xuebusi  阅读(5770)  评论(0编辑  收藏  举报