Я пытался подключиться к эластичному поиску (6.2.4) с помощью RestHighLevelClient с использованием Java 1.8. Я добавил все зависимости, и я использую следующий код в простом jsp.
sample.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@page import="java.util.*" %>
<%@page import="java.io.*" %>
<%@page import="com.google.gson.*" %>
<%@page import="org.apache.http.*"%>
<%@page import= "org.elasticsearch.client.*"%>
<%@page import= "org.elasticsearch.common.document.*"%>
<%@page import= "org.elasticsearch.index.query.*"%>
<%@page import= "org.elasticsearch.action.get.*"%>
<%@page import= "org.elasticsearch.search.*"%>
<%@page import= "org.elasticsearch.search.fetch.subphase.*"%>
<%@page import= "org.elasticsearch.search.builder.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Elastic Report</title>
</head>
<body>
<%
RestHighLevelClient client=null;
Gson gson = new Gson();
try{
client = new RestHighLevelClient(
RestClient.builder(new HttpHost("xx.yy.xx.zz", 9201, "http")));
GetRequest getRequest = new GetRequest(
"samples",
"sample",
"xxxxxxxxxx");
String[] includes = new String[]{"ip"};
String[] excludes = {};
FetchSourceContext fetchSourceContext =
new FetchSourceContext(true, includes, excludes);
getRequest.fetchSourceContext(fetchSourceContext);
GetResponse getResponse = client.get(getRequest);
if(getResponse.isExists()){
Map<String,DocumentField> fields = getResponse.getFields();
String json = gson.toJson(fields);
out.write(json);
}
client.close();
}
catch(Exception ex){
ex.printStackTrace();
}
%>
</body>
</html>
Все зависимости добавлены, и вот мой снимок затмения

Однако я сразу же получаю следующую ошибку, когда запускаю своего кота в затмении
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/elasticsearch/common/logging/Loggers
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:462)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/elasticsearch/common/logging/Loggers
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.elasticsearch_jsp._jspService(elasticsearch_jsp.java:140)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Класс логгеров недоступен в банке (версия 6.2.4)

Однако, как только я обновляю страницу, я получаю сообщение об ошибке ниже
org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.ParseField
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:556)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:462)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not initialize class org.elasticsearch.common.ParseField
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:916)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:845)
org.apache.jsp.elasticsearch_jsp._jspService(elasticsearch_jsp.java:140)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:439)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Мне не удалось найти класс ParseField в расширенном пакете. Однако приложение завершается с ошибкой Класс не найден

Может кто-нибудь дать мне знать, какую ошибку я здесь совершаю? Кроме того, кто-нибудь может указать мне на полный пример проекта с использованием RestHighlevelclient со всеми включенными зависимостями (jars)?
Любая помощь приветствуется.