【发布时间】:2020-03-06 18:53:54
【问题描述】:
我使用 maven 为 kafka 创建了一个 java 应用程序。我介绍java代码:
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.streams.KafkaStreams;
import org.apache.kafka.common.serialization.Serdes;
import org.apache.kafka.streams.StreamsBuilder;
import org.apache.kafka.streams.StreamsConfig;
import org.apache.kafka.streams.kstream.Consumed;
import org.apache.kafka.streams.kstream.KStream;
import org.apache.kafka.streams.kstream.Produced;
import java.util.Properties;
public class pega {
public static void main(String[] args) {
Properties properties = new Properties();
properties.put(StreamsConfig.APPLICATION_ID_CONFIG, "first-app");
properties.put(StreamsConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
properties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");
properties.put(StreamsConfig.DEFAULT_KEY_SERDE_CLASS_CONFIG, Serdes.String().getClass());
properties.put(StreamsConfig.DEFAULT_VALUE_SERDE_CLASS_CONFIG, Serdes.String().getClass());
properties.put(StreamsConfig.COMMIT_INTERVAL_MS_CONFIG, 1000);
StreamsBuilder builder = new StreamsBuilder();
KStream<String, String> order = builder.stream("input-topic", Consumed.with(Serdes.String(),Serdes.String()))
.selectKey((k,v) -> v);
order.to("output-topic", Produced.with(Serdes.String(),Serdes.String()));
KafkaStreams streams = new KafkaStreams(builder.build(), properties);
streams.start();
System.out.println(streams.toString());
Runtime.getRuntime().addShutdownHook(new Thread(streams::close));
}
}
我创建这个项目的方式是通过 IntelliJ IDE。现在我想在没有互联网访问的环境中创建相同的项目,安装软件和应用程序的唯一方法是通过向维护团队提出请求。因此,为了提出要求,出现了许多问题。 但在继续之前,我先展示 pom.xml 的一部分。
...
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-streams</artifactId>
<version>2.3.1</version>
</dependency>
...
当我编写这个 pom.xml 时,IntelliJ 正在做的是从互联网下载 Kafka 流包。
问题
1)这些包存储在哪里,maven在哪里寻找本地包?
2) maven 正在寻找的存储库是否与 java 存储其默认包的存储库相同?
3) 如果安装了 maven,如果所有依赖项都在本地存储库上,它是否可以在没有互联网访问的情况下正常工作?
4) 如果我想在没有任何工具的情况下创建一个 java 应用程序,我将如何处理这些依赖项(如 Kafka 流)? (万一无法安装maven)。
【问题讨论】:
-
很多问题,但是 2) 变成了什么?
标签: java maven apache-kafka