我是Java新手,我必须执行与Kafka相关的代码段,如下所示:
import java.util.*;
import org.apache.kafka.clients.producer.*;
public class Producer {
public static void main(String[] args) throws Exception
{
String topicName = "SimpleProducerTopic";
String key = "Key1";
String value = "Value-1";
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092,localhost:9093");
props.put("key.serializer","org.apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer");
Producer<String, String> producer = new KafkaProducer <>(props);
ProducerRecord<String, String> record = new ProducerRecord<>(topicName,key,value);
producer.send(record);
producer.close();
System.out.println("SimpleProducer Completed.");
}
}
我已经下载了IntelliJ Idea编辑器并在其中运行上述脚本,但这给我一个错误
错误:(2,1)java:包org.apache.kafka.clients.producer没有 存在
我知道我缺少apache kafka,所以我下载了apache的jar文件并将其添加到模块中,但错误仍然存在。我该怎么办?如何安装pacakge?
答案 0 :(得分:2)
仅将jar添加到相应的模块就不能访问它。您是否尝试过右键单击jar添加为库...选项?
编辑:您也许可以探索其他用于外部库使用的选项,例如maven或gradle。
答案 1 :(得分:0)
一种安装软件包的方法是使用Maven。如果要配置Maven和IntelliJ,请查看this教程。最终,一旦完成,您应该将this添加到自动生成的pom.xml
文件中:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>Whatever you put during setup</groupId>
<artifactId>Whatever you put during setup</artifactId>
<version>1.0-SNAPSHOT</version>
//Add this - copy and paste
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.kafka/kafka-clients -->
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.1.0</version>
</dependency>
</dependencies>
</project>
您可以在<dependencies></dependencies>
标记内添加任何其他包/依赖项,在线上有大量教程介绍如何使用Maven处理依赖项。希望这会有所帮助。
答案 2 :(得分:0)
作为Java的新手,您需要了解什么是类路径。
直接将JAR放入您的IDE不会改变
即使在命令行中,您也需要明确指定-cp kafka-clients.jar
有多种方法可以在Intellij中修改模块类路径,但是应避免手动下载JAR,并且可以通过Maven或Gradle(或sbt等)等依赖项管理工具解决该问题
您的个人资料中提到了其他语言,因此请考虑使用Nuget,npm,pip等。将该知识应用于Java