我尝试在 Ubuntu 上安装 MQTT KAFKA,当我们运行 ANT cmd 时出现“源 1.3 中不支持注释”错误。
通过研究该问题,我们发现虽然已经有一些修复方法,但它们并未解决我们的问题:
- 将 Java_Home 目录设置为正确的版本
- 编辑 pom.xml java 版本 1.7
我怀疑这与 Java 设置有关,因为我见过其他安装问题,但由于我对 Linux 系统的能力有限,我无法确定。
任何帮助将非常感激!
答案1
其中有几项内容:
需要一个名为 Paho Java MQTT Client 的依赖项。可以从 Paho 站点手动安装,使用版本 0.4.0。运行 mvn clean install 将其添加到本地 maven 存储库,然后编辑 mqttKafkaBridge 附带的 pom.xml 以指向已添加到本地 maven 存储库的 jar 和 pom 文件。mqttKafkaBridge 附带的 pom.xml 中似乎存在错误,因为它引用了不存在的 Paho 0.9.0,将其更改为 0.4.0 无法解决问题。请确保在顶层文件夹中运行 mvn clean install,而不是在任何子文件夹中。还要注意 ClientComms.java 文件的编译问题。要解决此问题,请编辑 org.eclipse.paho.client.mqttv3 文件夹下的 build.xml 文件,将其指向 ClientComms.java 的正确位置,即:/src/main/java-templates/org/eclipse/paho/client/mqttv3/internal/ClientComms.java
还需要 kafka 0.7.2。它不能与 0.8.0-beta1 一起使用(我都测试过了)。要获取 0.7.2,请下载源代码并使用 sbt(简单构建工具)安装,请参见:http://kafka.apache.org/07/quickstart.html。不幸的是,这不会将 kafka 0.7.2 添加到您的本地 maven 仓库。为此,请进入 kafka 源目录并运行:mvn install:install-file -Dfile=core/target/scala_2.8.0/kafka-0.7.2.jar -DgroupId=org.apache.kafka -DartifactId=kafka -Dversion=0.7.2 -Dpackaging=jar。然后您需要返回 mqttKafkaBridge 并编辑 pom.xml 文件中的 kafka 依赖项以指向此。运行 ./sbt publish-local && ./sbt publish for kafka 0.8.0-beta1 将起作用并将其添加到您的本地 maven 仓库(.m2/repository),但 mqttKafkaBridge 编译将失败,指出 kafka 0.8.0-beta1 无效。运行 ./sbt publish-local 适用于 kafka 0.7.2,但 ./sbt publish 失败,因此您需要使用 mvn install:install-file 路由(不适用于 0.8.0-beta1)。
最后一步也很艰难。 找到一个帮助我解决这个问题的链接:http://mail-archives.apache.org/mod_mbox/kafka-dev/201301.mbox/%3CJIRA.12523213.1316101732625.79420.1357290855035@arcas%3E。文章指出,ANT 无法编译它,因此应使用 maven。运行 mvn clean install 而不是 ANT,它应该可以为您编译。
关于这一点的文档并不多,而且组件和版本都是最近开发的,所以希望这篇文章能够帮助其他人解决这个问题。