无法解析符号 'StreamsBuilder'
Cannot resolve symbol 'StreamsBuilder'
我正在尝试使用 Java 创建 Kafka Streams 应用程序并且很难管理依赖项。请允许我说,我完全是 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>
通过此设置,我可以将 "Hello world!" 打印到控制台,但是一旦我导入 Kafka Streams 类 错误就开始弹出:
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 和 Topology。现在对 Java、IntelliJ 和 Maven 完全陌生,我真的找不到前进的方法。
为什么Kafka站点(https://kafka.apache.org/25/documentation/streams/developer-guide/write-streams.html#libraries-and-maven-artifacts)显示的依赖项可以下载但无法导入?
您 StreamsBuilder
和 Topology
在 stream
包下而不在 kstream
和 processor
使用以下导入:
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.Topology;
正如您提到的,您是 Java
的新手,这只是一个解决问题的建议,如果您遇到此类问题,只需删除导入,然后像 Inteliij 这样的现代 IDE 将自动显示该选项。
我正在尝试使用 Java 创建 Kafka Streams 应用程序并且很难管理依赖项。请允许我说,我完全是 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>
通过此设置,我可以将 "Hello world!" 打印到控制台,但是一旦我导入 Kafka Streams 类 错误就开始弹出:
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 和 Topology。现在对 Java、IntelliJ 和 Maven 完全陌生,我真的找不到前进的方法。
为什么Kafka站点(https://kafka.apache.org/25/documentation/streams/developer-guide/write-streams.html#libraries-and-maven-artifacts)显示的依赖项可以下载但无法导入?
您 StreamsBuilder
和 Topology
在 stream
包下而不在 kstream
和 processor
使用以下导入:
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.Topology;
正如您提到的,您是 Java
的新手,这只是一个解决问题的建议,如果您遇到此类问题,只需删除导入,然后像 Inteliij 这样的现代 IDE 将自动显示该选项。