我正在和Confluent Kafka Streams一起工作,我运行了发现的示例流here,而且这个工作正常。我想知道是否有替换以下命令的方式,如何从Github使用本地文件而不是一个?
./bin/kafka-run-class org.apache.kafka.streams.examples.wordcount.WordCountDemo
与使用本地文件而不是此源在Github上的一个。我试图复制从GitHub的文件,并把它在一个本地文件,streams
像这样:
./bin/kafka-run-class ./streams/WordCountDemo.java
,但它给了我下面的错误信息:
Error: Could not find or load main class ..streams.WordCountDemo.java
使用SAME包名将文件复制到本地驱动器。然后在kafka类之前将该位置放置在类路径中。它必须具有相同的包名称,但它会允许其他类加载它。 – Dakoda
@达科达我不确定你的意思。作为访问文件的命令,我该怎么做? – Ryan
你不需要特殊的命令。你只是使用或正常申报。类加载器将使用类路径来查找类,因此如果您将本地目录放在kafka位置的前面,它将首先加载您的类。当它对关联的类有另一个用法时,它会先尝试在您的目录中找到它(找不到它),然后搜索kafka位置。这就是为什么你需要保持包名称相同。 – Dakoda