【问题标题】:Java Package doesnt not exist in intelliJ IDEAIntelliJ IDEA 中不存在 Java 包
【发布时间】:2020-11-07 18:04:00
【问题描述】:

我是 Java 新手,我必须执行与 Kafka 相关的代码 sn-p,如下所示:

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 编辑器并在那里运行上面的脚本,但它给了我一个错误

Error:(2, 1) java: package org.apache.kafka.clients.producer 没有 存在

我知道我缺少 apache kafka,所以我下载了 apache 的 jar 文件并将其添加到模块中,但错误仍然存​​在。我应该怎么办?如何安装包?

【问题讨论】:

  • 尝试使用maven进行依赖管理...

标签: java intellij-idea apache-kafka


【解决方案1】:

只是将 jar 添加到相应的模块中并不能让您访问它。您是否尝试过右键单击 jar Add as Library... 选项?

编辑:您也许可以探索使用外部库的其他选项,例如 maven 或 gradle。

【讨论】:

  • 没有这样的选项(添加为库),我点击了外部库中的 kafka jar 文件。
  • 我的意思是通过 IntelliJ UI。右键单击 IntelliJ 工作树中的 jar
【解决方案2】:

作为 Java 新手,您会想了解什么是类路径。

将 JAR 直接放入 IDE 并不会改变这一点

即使在命令行中,您也需要明确指定 -cp kafka-clients.jar

在 Intellij 中有多种修改模块类路径的方法,但应避免手动下载 JAR,通过 Maven 或 Gradle(或 sbt 等)等依赖管理工具解决该问题

你的个人资料提到了其他语言,所以想想 Nuget、npm、pip 等。将这些知识应用到 Java 中

【讨论】:

    【解决方案3】:

    安装包的一种方法是使用 Maven。如果要配置 Maven 和 IntelliJ,请查看 this tutorial。最后,完成后,您应该将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>
    

    您可以在 &lt;dependencies&gt;&lt;/dependencies&gt; 标记中添加任何其他包/依赖项。网上有很多关于如何使用 Maven 处理依赖关系的教程。

    【讨论】:

    • 我添加了 pom.xml 但没有任何进展。
    • @MuhammadFaizanKhan 你能用你所做的更新你的问题吗
    • @MuhammadFaizanKhan 只是为了确保您正确设置了 Maven 项目吗?仅仅有一个 pom.xml 文件是不够的,这里有一个如何在 IntelliJ 中设置 Maven 项目的示例javacord.org/wiki/getting-started/intellij-maven
    • @MuhammadFaizanKhan 刚刚尝试过,它对我有用,让我为你快速更新答案。
    • 好吧,我已经完全按照教程进行操作,但即使教程导入不起作用,仍然出现相同的错误错误:(3、24)java:包 org.javacord.api 不存在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    • 1970-01-01
    • 2018-05-02
    • 2015-06-27
    • 2019-02-28
    相关资源
    最近更新 更多