我试图用Java创建一个Kafka应用程序,并且很难管理依赖项。请允许我说,我完全是Java的新手,它是工具的生态系统。
该项目是用Maven编译的,我使用的是IntelliJ Idea。该项目被配置为使用OpenJDK 14。
这里是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>com.petite</groupId>
<artifactId>ora</artifactId>
<version>1.0-SNAPSHOT</version>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>14</source>
<target>14</target>
</configuration>
</plugin>
</plugins>
<defaultGoal>compile</defaultGoal>
</build>
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.5.0</version>
</dependency>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>2.5.0</version>
</dependency>
</dependencies>
</project>
有了这个设置,我可以打印一个“你好世界!”在控制台上,但一旦我导入Kafka流类,错误就会弹出:
package com.petite;
import org.apache.kafka.streams.KafkaStreams;
import org.apache.kafka.streams.kstream.StreamsBuilder;
import org.apache.kafka.streams.processor.Topology;
public class Main {
public static void main(String[] args) {
System.out.println("Hello from Java");
}
}
IntelliJ告诉我,它找不到符号StreamsBuilder和拓扑。现在,作为Java、IntelliJ和Maven的完全外来者,我真的找不到前进的道路。
为什么可以下载卡夫卡站点(https://kafka.apache.org/25/documentation/streams/developer-guide/write-streams.html#libraries-and-maven-artifacts)上显示的依赖项,但不能导入?
发布于 2020-06-05 08:22:30
您的StreamsBuilder
和Topology
是stream
包,而不是kstream
和processor
使用以下进口产品:
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.Topology;
正如您所提到的,您对Java
并不熟悉,这只是一个torubleshoot建议,如果您遇到过这样的问题,只需删除导入,像Inteliij这样的现代IDE就会自动显示该选项。
https://stackoverflow.com/questions/62210854
复制相似问题