我正在尝试用Java程序导入kafka类,找不到需要导入的Java类,例如:
import kafka.message.Message;
import kafka.utils.Utils;
谁能告诉我在哪里可以找到这些Java类,以及如何提供它们?在我看来,Kafka是用Scala编写的,所以在我下载了它的源代码后,我找不到那些java类。
发布于 2012-12-15 07:25:38
如果您还没有使用以下工具构建Kafka版本,那么您首先需要这样做:
`tar xzf kafka-[VERSION].tgz`
`cd kafka-[VERSION]`
`./sbt update`
`./sbt package`
要做的最简单的事情就是将生成的kafka-VERSION.jar (放在kafka-0.7.2-incubating-src/core/target/scala_2.8.0/)和其他所需的依赖项中)放在构建路径上,它应该可以工作。
所有依赖项(在kafka-VERSION-incubating-src/core/lib_managed/scala_2.8.0/compile/)中)都通过sbt更新解决。
您可以按照http://kafka.apache.org/07/quickstart.html上的步骤进行操作
发布于 2014-08-22 05:02:09
在Ubuntu上使用apache kafka jars的最小java程序示例:
您需要的jars应该在kafka安装的libs目录中。将它们复制到您的java程序可以访问它们的位置。
对于新手来说,是一个演练。将其放在一个名为Main.java:的文件中
import java.util.*;
import kafka.producer.*;
import kafka.utils.*;
public class Main{
public static void main(String[] args) {
Properties props = new Properties();
props.put("metadata.broker.list", "broker1:9092,broker2:9092");
props.put("serializer.class", "kafka.serializer.StringEncoder");
props.put("partitioner.class", "example.producer.SimplePartitioner");
props.put("request.required.acks", "1");
ProducerConfig config = new ProducerConfig(props);
System.out.println("k");
}
}
假设您正确安装了apache kafka,那么在kafka安装目录下,您将找到一个libs
目录。在里面你会发现一堆jar文件。
我感兴趣的3个jars是:
kafka_2.10-0.8.1.1.jar
scala-library-2.10.1.jar
log4j-1.2.15.jar
将这些jars文件复制到您的Main.java文件旁边。
编译它:
javac -cp .:kafka_2.10-0.8.1.1.jar:scala-library-2.10.1.jar:log4j-1.2.15.jar Main.java
运行它:
el@apollo:~$ java -cp .:kafka_2.10-0.8.1.1.jar:scala-library-2.10.1.jar:log4j-1.2.15.jar Main
k
el@apollo:~$
备注:
该程序不会抱怨缺少kafka.producer类。这意味着您正确地导入了kafka类。
https://stackoverflow.com/questions/13887136
复制相似问题