Ошибка Java при попытке запустить Geomesa Quick Start с хранилищем данных Kafka

Я хочу открыть для себя технологию GeoMesa.

Я пытаюсь запустить Quick Start на официальном сайте GeoMesa.

Я использую Kafka Data sore, установленный с помощью docker-compose (порты 9092 для брокеров Kafka, 9000 для менеджера Kafka и 2181 для сервера Zookeeper) и версию 2.4.0-SNAPSHOT GeoMesa.

Как написано в учебнике GeoMesa, я запускаю следующие командные строки:

Получите руководство с GitHub:

git clone https://github.com/geomesa/geomesa-tutorials.git
cd geomesa-tutorials

Скомпилируйте с Maven:

mvn clean install -pl geomesa-tutorials-kafka/geomesa-tutorials-kafka-quickstart -am

Запустите приложение с адресами localhost:9092 для брокера Kafka и localhost:2181 для сервера Zookeeper:

java -cp geomesa-tutorials-kafka/geomesa-tutorials-kafka-quickstart/target/geomesa-tutorials-kafka-quickstart-2.4.0-SNAPSHOT.jar org.geomesa.example.kafka.KafkaQuickStart --kafka.brokers localhost:9092 --kafka.zookeepers localhost:2181

Когда я запускаю последнюю командную строку, на моей консоли возникает ошибка:

java.lang.InconnectableClassChangeError: Метод org.locationtech.geomesa.security.AuthorizationsProvider.apply(Ljava/util/Map;Ljava/util/List;)Lorg/locationtech/geomesa/security/AuthorizationsProvider; должна быть константа InterfaceMethodref в org.locationtech.geomesa.security.package$.getAuthorizationsProvider(package.scala:57) в org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory$.buildAuthProvider(KafkaDataStoreFactory.scala:194) в org.locationtech .geomesa.kafka.data.KafkaDataStoreFactory$.buildConfig(KafkaDataStoreFactory.scala:175) по адресу org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:46) по адресу org.locationtech.geomesa.kafka.data. KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:37) в org.geotools.data.DataAccessFinder.getDataStore(DataAccessFinder.java:121) в org.geotools.data.DataStoreFinder.getDataStore(DataStoreFinder.java:71) в org.geomesa.example .quickstart.GeoMesaQuickStart.createDataStore(GeoMesaQuickStart.java:105) в org.geomesa.example.kafka.KafkaQuickStart.createDataStore(KafkaQuickStart.java:68) в org.geomesa.example.quickstart.GeoMesa QuickStart.run(GeoMesaQuickStart.java:79) по адресу org.geomesa.example.kafka.KafkaQuickStart.main(KafkaQuickStart.java:133)

Я подозреваю, что ошибка исходит от этого метода org.geomesa.example.quickstart.GeoMesaQuickStart.createDataStore.

Я пробую тот же Быстрый старт с сервером Redis, установленным с помощью образа Docker, и получаю точно такую ​​же ошибку.


person e-Viegas    schedule 30.04.2019    source источник
comment
Убедитесь, что вы используете Java 8, как указано в этих документах.   -  person OneCricketeer    schedule 30.04.2019
comment
Командная строка java --version' gives me this output : openjdk 11.0.2 2019-01-15`. Это проблема, что у меня нет версии Java 8? Должен ли я вернуться к Java 8?   -  person e-Viegas    schedule 02.05.2019
comment
Я запускаю версию Java 8, и она работает. Это была просто проблема версии Java. К сожалению, GeoMesa не работает с версией Java 11.   -  person e-Viegas    schedule 02.05.2019


Ответы (1)


Командная строка java --version дает мне этот вывод: openjdk 11.0.2 2019-01-15. Это проблема, что у меня нет версии Java 8?

Согласно документации, на которую вы ссылаетесь, одним из предварительных условий является использование Java 8 для запуска GeoMesa.

person OneCricketeer    schedule 02.05.2019