Пакет Java не существует в IntelliJ IDEA - PullRequest
0 голосов
/ 08 февраля 2019

Я новичок в 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 отсутствуетпоэтому я скачал jar-файл apache и добавил его в модули, но ошибка все еще сохраняется.Что я должен делать?Как установить пакет?

Ответы [ 3 ]

0 голосов
/ 08 февраля 2019

Один из способов установки пакета - использовать Maven.Если вы хотите настроить Maven и IntelliJ, взгляните на этот учебник.В конце концов, когда вы закончите, вы должны добавить 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.Надеюсь, это поможет.

0 голосов
/ 08 февраля 2019

Будучи новичком в Java, вы захотите понять, что такое classpath.

Помещение JAR-файлов непосредственно в IDE не меняет этого

Даже из командной строки вынеобходимо явно указать -cp kafka-clients.jar

Существует несколько способов изменить путь к классу модуля в Intellij, но следует избегать ручной загрузки JAR-файлов, и эта проблема решается с помощью инструментов управления зависимостями, таких как Maven или Gradle (илиsbt и т. д.)

В вашем профиле упоминаются другие языки, поэтому подумайте, Nuget, npm, pip и т. д. Примените эти знания к Java

0 голосов
/ 08 февраля 2019

Простое добавление банки в соответствующий модуль не дает вам доступа к нему.Пробовали ли вы щелкнуть правой кнопкой мыши по опции jar Add as Library ...

Edit: возможно, вы могли бы изучить другие варианты использования внешней библиотеки, такие как maven или gradle.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...