Я использую JAVA API. Я попытался следующие:Elasticsearch Java Api ERROR
Client client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9200));
Но он дал мне следующую ошибку:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
at org.elasticsearch.client.transport.TransportClient$Builder.<init>(TransportClient.java:84)
at org.elasticsearch.client.transport.TransportClient.builder(TransportClient.java:76)
at tools.Tools.Searcher(Tools.java:195)
at tools.Tools.main(Tools.java:60)
Caused by: java.lang.ClassNotFoundException: com.google.common.collect.ImmutableMap
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 4 more
Java Result: 1
Я использую Elasticsearch 2.0.0 и работает на порту 9200
Помогите пожалуйста? Что вызывает эту ошибку и как я могу ее исправить?
поддержки банка (Google-collections.jar) не доступен в buildpath это кажется. – Karthick
@ Karthick Хорошо, я загрузил файл google-collections-1.0.jar и импортировал 'import com.google.common. *;', Однако я все еще получаю сообщение об ошибке: «Исключение в потоке» main «java.lang. NoSuchMethodError: com.google.common.collect.ImmutableSet.of (Ljava/lang/Obje ... ' –
Очень полезно использовать некоторые средства управления зависимостями, такие как Maven, для управления зависимостями, а не вручную загрузки файлов jar. Maven автоматически загрузит все зависимостей. Вам просто нужно добавить зависимость как \t org.elasticsearch \t elasticsearch \t 2.0.0 –