简体   繁体   English

java.lang.NoClassDefFoundError: org/elasticsearch/script/mustache/SearchTemplateRequest

[英]java.lang.NoClassDefFoundError: org/elasticsearch/script/mustache/SearchTemplateRequest

I am trying to access Amazon Elasticsearch instance using the RestHighLevelClient from a java program.我正在尝试使用RestHighLevelClient程序中的 RestHighLevelClient 访问 Amazon Elasticsearch 实例。 Below is my code:下面是我的代码:

AWS4Signer signer = new AWS4Signer();
signer.setServiceName("es");
signer.setRegionName("us-east-1");
HttpRequestInterceptor interceptor = new AWSRequestSigningApacheInterceptor("es", signer, creds);            

RestHighLevelClient EsClient = new RestHighLevelClient(RestClient.builder(new HttpHost("hostname.us-east-1.es.amazonaws.com",443,"https"))
.setHttpClientConfigCallback(httpAsyncClientBuilder -> HttpAsyncClientBuilder
.create()
.addInterceptorLast(interceptor)));

When I run this code, I am seeing this error:当我运行这段代码时,我看到了这个错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/elasticsearch/script/mustache/SearchTemplateRequest
    at Main.main(Main.java:194)
Caused by: java.lang.ClassNotFoundException: org.elasticsearch.script.mustache.SearchTemplateRequest
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 1 more

This is happening at the initialization of EsClient .这发生在EsClient的初始化时。 The error indicates a missing dependency, but I do have org.elasticsearch.script in my classpath.该错误表明缺少依赖项,但我的类路径中确实有org.elasticsearch.script However, it doesn't seem to have the mustache.SearchTemplateRequest .但是,它似乎没有mustache.SearchTemplateRequest Below are the relevant dependencies I have added to the project:以下是我添加到项目中的相关依赖项: 在此处输入图像描述

Not sure what I am missing here.不知道我在这里缺少什么。 Any help would be appreciated.任何帮助,将不胜感激。 Thank you.谢谢你。

I was missing the below jar:我缺少以下 jar:

<!-- https://mvnrepository.com/artifact/org.elasticsearch.plugin/lang-mustache-client -->
<dependency>
    <groupId>org.elasticsearch.plugin</groupId>
    <artifactId>lang-mustache-client</artifactId>
    <version>7.6.2</version>
</dependency>

There were several other jars that I had to add to finally get it working.我必须添加其他几个 jars 才能使其正常工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 Elasticsearch-java.lang.NoClassDefFoundError - Elasticsearch - java.lang.NoClassDefFoundError java.lang.NoClassDefFoundError:org / hibernate / MappingException - java.lang.NoClassDefFoundError: org/hibernate/MappingException java.lang.NoClassDefFoundError:org / lwjgl / LWJGLException - java.lang.NoClassDefFoundError: org/lwjgl/LWJGLException java.lang.NoClassDefFoundError:org / jnetpcap / Pcap - java.lang.NoClassDefFoundError: org/jnetpcap/Pcap java.lang.NoClassDefFoundError:org / mapdb / DBMaker - java.lang.NoClassDefFoundError: org/mapdb/DBMaker java.lang.NoClassDefFoundError: org/hamcrest/Matchers - java.lang.NoClassDefFoundError: org/hamcrest/Matchers java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing - java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing java.lang.NoClassDefFoundError: org/quartz/SchedulerFactory - java.lang.NoClassDefFoundError: org/quartz/SchedulerFactory Elasticsearch Java API错误java.lang.NoClassDefFoundError:org / apache / logging / log4j / Logger - Elasticsearch java api error java.lang.NoClassDefFoundError: org/apache/logging/log4j/Logger 弹性搜索java.lang.NoClassDefFoundError:org / elasticsearch / transport / Netty3Plugin - Elastic Search java.lang.NoClassDefFoundError: org/elasticsearch/transport/Netty3Plugin
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM