我想发现GeoMesa技术。
我尝试在GeoMesa的官方网站上运行“快速入门”。
我使用由docker-compose安装的Kafka Data sore(端口9092
用于Kafka代理,9000
用于Kafka管理器,2181
用于Zookeeper服务器),以及版本{ {1}}的GeoMesa。
就像写在GeoMesa的教程上一样,我运行以下命令行:
从GitHub获取教程:
2.4.0-SNAPSHOT
使用Maven编译:
git clone https://github.com/geomesa/geomesa-tutorials.git
cd geomesa-tutorials
使用地址mvn clean install -pl geomesa-tutorials-kafka/geomesa-tutorials-kafka-quickstart -am
(对于Kafka代理)和localhost:9092
(对于Zookeeper服务器)运行应用程序:
localhost:2181
当我运行最后一个命令行时,控制台上会抛出错误:
java.lang.IncompatibleClassChangeError:方法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.GeoMesaQuickStart.run(GeoMesaQuickStart.java:79) 在org.geomesa.example.kafka.KafkaQuickStart.main(KafkaQuickStart.java:133)
我怀疑错误来自此方法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
。
我尝试使用由Docker映像安装的Redis服务器进行相同的快速入门,并且得到了完全相同的错误。
答案 0 :(得分:0)
命令行java --version'给我以下输出:openjdk 11.0.2 2019-01-15。我没有Java 8版本吗?
根据链接到的文档,先决条件之一是使用Java 8运行GeoMesa。