0

我想发现 GeoMesa 技术。

我尝试在GeoMesa的官方网站上运行 Quick Start 。

我使用由 docker-compose(9092Kafka 代理、9000Kafka 管理器和2181Zookeeper 服务器的端口)安装的 Kafka Data sore,以及2.4.0-SNAPSHOTGeoMesa 的版本。

就像它写在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:2181Zookeeper 服务器的地址运行应用程序:

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.IncompatibleClassChangeError: 方法 org.locationtech.geomesa.security.AuthorizationsProvider.apply(Ljava/util/Map;Ljava/util/List;)Lorg/locationtech/geomesa/security/AuthorizationsProvider; 必须是 org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory$.buildAuthProvider(KafkaDataStoreFactory.scala:194) 的 org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory$.buildAuthProvider(KafkaDataStoreFactory.scala:194) 的 InterfaceMethodref 常量.geomesa.kafka.data.KafkaDataStoreFactory$.buildConfig(KafkaDataStoreFactory.scala:175) 在 org.locationtech.geomesa.kafka.data.KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:46) 在 org.locationtech.geomesa.kafka.data。 org.geotools.data.DataAccessFinder 上的 KafkaDataStoreFactory.createDataStore(KafkaDataStoreFactory.scala:37)。

我怀疑错误来自这种方法org.geomesa.example.quickstart.GeoMesaQuickStart.createDataStore

我尝试使用由 Docker 映像安装的 Redis 服务器进行相同的快速入门,但得到完全相同的错误。

4

1 回答 1

1

命令行 java --version' 给了我这个输出:openjdk 11.0.2 2019-01-15。我没有 Java 8 版本是个问题吗?

根据您链接到的文档,先决条件之一是使用 Java 8 运行 GeoMesa。

于 2019-05-02T11:42:21.273 回答