Eclipse IDEでJavaプロジェクトを作成しました。クラス内にこのコードがあります。 jarファイルの依存関係をすべて含めました。AWS ElasticSearch PreBuiltTransportClient java.lang.NoSuchMethodError
TransportClient client = new PreBuiltTransportClient(Settings.EMPTY,Arrays.asList(
Netty3Plugin.class,
Netty4Plugin.class,
ReindexPlugin.class,
PercolatorPlugin.class,
MustachePlugin.class))
.addTransportAddress(new InetSocketTransportAddress(InetAddress
.getByName("https://search-my-test-domain-XXXXXXXXXXXXXXXXXXXXXX.us-east-1.es.amazonaws.com"), 9300));
しかし、私は、コードを実行すると、このエラーが出たとき、
Exception in thread "main" java.lang.NoSuchMethodError: org.elasticsearch.transport.client.PreBuiltTransportClient.addPlugins(Ljava/util/Collection;Ljava/util/Collection;)Ljava/util/Collection;
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:125)
at org.elasticsearch.transport.client.PreBuiltTransportClient.<init>(PreBuiltTransportClient.java:111)
at ESConnManager.retrieveDataFromES(ESConnManager.java:572)
at ESConnManager.main(ESConnManager.java:166)
私はelasticsearchのv5.3.2を使用してのJava APIのV5.3を使用しています。どんな解決策ですか?
プラグインを指定しなくても、NoSuchMethodエラーが表示されます。他のアイデア? – ree1991
誤って別のelasticsearch JAR依存関係が含まれていないことは確かですか? – Val
elasticsearchからelasticsearch-5.3.2.jar、rest-5.3.2.jar、transport-5.3.2.jarを追加しました。 RestClient restClient = RestClient.builder( \t \t \t新しいHttpHost( "search-my-test-domain-XXXXXXXXXXXXXXXXXXXXXX.us-east-1.es.amazonaws.com"、80、 "HTTP"))).build (); これは正常に動作します。しかし、TransportClientについては、私は同じエラーが発生し続けます。 – ree1991