Java软件包在intelliJ IDEA中不存在

时间:2019-02-08 11:45:40

标签: java intellij-idea apache-kafka

我是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?

3 个答案:

答案 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