Я пытаюсь установить MQTT KAFKA в Ubuntu и получаю сообщение об ошибке «аннотации не поддерживаются в источнике 1.3» при запуске ANT cmd.

Из исследования проблемы мы видим, что есть несколько исправлений, но они не решили нашу проблему:

  • Установите Java_Home dir на правильную версию
  • редактировать pom.xml Java версии 1.7

Я подозреваю, что это как-то связано с установкой java, так как я видел другие проблемы с установкой, но я не могу быть уверен из-за моего ограниченного мастерства в системах Linux.

Любая помощь приветствуется!

1 ответ1

0

Было несколько пунктов с этим:

  1. необходима зависимость под названием Paho Java MQTT Client. Это можно установить вручную с сайта Paho, используйте версию 0.4.0. Запустите mvn clean install, чтобы добавить его в локальное хранилище maven, а затем отредактируйте файл pom.xml, поставляемый с mqttKafkaBridge, для указания файлов jar и pom, которые были добавлены в локальное хранилище maven. Кажется, в pom.xml есть ошибка, которая приходит с qq mqttKafkaBridge, поскольку она ссылается на Paho 0.9.0, который не существует, и изменение его на 0.4.0 не разрешает его.Убедитесь, что вы запускаете mvn clean install в папке верхнего уровня, а не в любой из подпапок. Также следите за проблемой компиляции с файлом ClientComms.java. Чтобы исправить это, отредактируйте файл build.xml в папке org.eclipse.paho.client.mqttv3, чтобы указать его правильное расположение для ClientComms.java, то есть: /src /main /java-templates /org /eclipse /paho /client/mqttv3/internal/ClientComms.java

  2. Кафка 0.7.2 тоже обязательна. он не будет работать с 0.8.0-бета1 (я тестировал оба). чтобы получить 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 -Упаковка = баночка. Затем вам нужно вернуться к mqttKafkaBridge и отредактировать зависимость kafka в файле pom.xml, чтобы указать на это. Запуск ./sbt publish-local && ./sbt publish для 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).

  3. последний шаг тоже был тяжелым. Нашел ссылку на это, которая помогла мне решить ее: http://mail-archives.apache.org/mod_mbox/kafka-dev/201301.mbox/%3CJIRA.12523213.1316101732625.79420.1357290855035@arcas%3E. В статье предполагается, что ANT не будет работать для его компиляции и использования maven. запустите mvn clean install вместо ANT, и он должен скомпилироваться для вас.

по этому вопросу не так много документации, и все компоненты и версии были разработаны совсем недавно, так что, надеюсь, этот пост поможет другим решить эту проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .