Elasticsearch RestHighLevelClient 缺少传递依赖项

2023-12-11

我正在尝试通过此依赖项使用 RestHighLevelClient

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>elasticsearch-rest-high-level-client</artifactId>
        <version>6.0.1</version>
    </dependency>

但我不断收到 ClassNotFoundExceptionsRestHighLevelClient class.

当我尝试连接这个 bean 时(AwsAmsElasticsearchClientConfig.java :

@Bean(name = "elasticsearchRestClient")
public RestHighLevelClient getElasticsearchRestClient() {
    RestClientBuilder restClientBuilder = RestClient.builder(
            new HttpHost(HOST, PORT, SCHEME));

    restClientBuilder.setHttpClientConfigCallback(
            new RestClientBuilder.HttpClientConfigCallback() {
                @Override
                public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                    httpClientBuilder.addInterceptorLast(buildAwsSigningRequestInterceptor());
                    // add SSL config if needed
                    //  httpClientBuilder.setSSLContext(null);
                    return httpClientBuilder;
                }
            }
    );

    return new RestHighLevelClient(restClientBuilder);
}

我收到这些错误:

19:51:11.026 ERROR [           main]                SpringApplication - Application startup failed
java.lang.ClassNotFoundException: org.elasticsearch.common.CheckedConsumer
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) [1 skipped]
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig.getElasticsearchRestClient(AwsAmsElasticsearchClientConfig.java:63) [2 skipped]
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07.CGLIB$getElasticsearchRestClient$0(<generated>)
Wrapped by: java.lang.NoClassDefFoundError: org/elasticsearch/common/CheckedConsumer
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig.getElasticsearchRestClient(AwsAmsElasticsearchClientConfig.java:63) [2 skipped]
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07.CGLIB$getElasticsearchRestClient$0(<generated>)
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07$$FastClassBySpringCGLIB$$fba1a4f2.invoke(<generated>)
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07.getElasticsearchRestClient(<generated>) [2 skipped]
    at java.lang.reflect.Method.invoke(Method.java:498) [3 skipped]
Wrapped by: java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/elasticsearch/common/CheckedConsumer
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig.getElasticsearchRestClient(AwsAmsElasticsearchClientConfig.java:63) [2 skipped]
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07.CGLIB$getElasticsearchRestClient$0(<generated>)
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07$$FastClassBySpringCGLIB$$fba1a4f2.invoke(<generated>)
    at com.glassdoor.applicantManagement.aws.AwsAmsElasticsearchClientConfig$$EnhancerBySpringCGLIB$$c8f9ed07.getElasticsearchRestClient(<generated>) [2 skipped]
    at java.lang.reflect.Method.invoke(Method.java:498) [3 skipped]
Wrapped by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.elasticsearch.client.RestHighLevelClient]: Factory method 'getElasticsearchRestClient' threw exception; nested exception is java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/elasticsearch/common/CheckedConsumer
    at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:192) [148 skipped]
    at io.undertow.servlet.core.DeploymentManagerImpl$1.call(DeploymentManagerImpl.java:174)
    at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:42)
    at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)

It looks like tons of the transitive dependencies are missing enter image description here


Update

事实证明这里发生了两件事。

  1. 正如@miroh 下面指出的,我需要明确定义org.elasticsearch:elasticserach:6.0.1依赖关系,这样我就不会引入错误的版本。不知道为什么这是必要的,但似乎确实是必要的......(也在这里引用:https://github.com/elastic/elasticsearch/issues/26959)

  2. 我的项目是一个多模块 Spring 项目,具有许多其他依赖项。显然,一些 Spring/Springboot 依赖项依赖于spring-data-elasticsearch它依赖于org.elasticsearch:elasticsearch:2.4.6。我通过将 elasticsearch:6.0.1 版本添加到我的父级的依赖项管理部分来解决这些冲突的 elasticsearch 版本pom.xml。这告诉 Maven 在存在依赖冲突时使用版本 6.0.1。


尝试添加以下依赖项。

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>6.0.1</version>
</dependency>

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-client</artifactId>
    <version>6.0.1</version>
</dependency>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elasticsearch RestHighLevelClient 缺少传递依赖项 的相关文章

  • 如何默认将 Maven 插件附加到阶段?

    我有一个 Maven 插件应该在编译阶段运行 所以在项目中consumes我的插件 我必须做这样的事情
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 制作一个交互式Windows服务

    我希望我的 Java 应用程序成为交互式 Windows 服务 用户登录时具有 GUI 的 Windows 服务 我搜索了这个 我发现这样做的方法是有两个程序 第一个是服务 第二个是 GUI 程序并使它们进行通信 服务将从 GUI 程序获取
  • JAXb、Hibernate 和 beans

    目前我正在开发一个使用 Spring Web 服务 hibernate 和 JAXb 的项目 1 我已经使用IDE hibernate代码生成 生成了hibernate bean 2 另外 我已经使用maven编译器生成了jaxb bean
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 如何将 pfx 文件转换为 jks,然后通过使用 wsdl 生成的类来使用它来签署传出的肥皂请求

    我正在寻找一个代码示例 该示例演示如何使用 PFX 证书通过 SSL 访问安全 Web 服务 我有证书及其密码 我首先使用下面提到的命令创建一个 KeyStore 实例 keytool importkeystore destkeystore
  • 总是使用 Final?

    我读过 将某些东西做成最终的 然后在循环中使用它会带来更好的性能 但这对一切都有好处吗 我有很多地方没有循环 但我将 Final 添加到局部变量中 它会使速度变慢还是仍然很好 还有一些地方我有一个全局变量final 例如android Pa
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • Eclipse Java 远程调试器通过 VPN 速度极慢

    我有时被迫离开办公室工作 这意味着我需要通过 VPN 进入我的实验室 我注意到在这种情况下使用 Eclipse 进行远程调试速度非常慢 速度慢到调试器需要 5 7 分钟才能连接到远程 jvm 连接后 每次单步执行断点 行可能需要 20 30
  • 仅将 char[] 的一部分复制到 String 中

    我有一个数组 char ch 我的问题如下 如何将 ch 2 到 ch 7 的值合并到字符串中 我想在不循环 char 数组的情况下实现这一点 有什么建议么 感谢您花时间回答我的问题 Use new String value offset
  • 编译器抱怨“缺少返回语句”,即使不可能达到缺少返回语句的条件

    在下面的方法中 编译器抱怨缺少退货声明即使该方法只有一条路径 并且它包含一个return陈述 抑制错误需要另一个return陈述 public int foo if true return 5 鉴于Java编译器可以识别无限循环 https
  • Firebase 添加新节点

    如何将这些节点放入用户节点中 并创建另一个节点来存储帖子 我的数据库参考 databaseReference child user getUid setValue userInformations 您需要使用以下代码 databaseRef
  • 捕获的图像分辨率太大

    我在做什么 我允许用户捕获图像 将其存储到 SD 卡中并上传到服务器 但捕获图像的分辨率为宽度 4608 像素和高度 2592 像素 现在我想要什么 如何在不影响质量的情况下获得小分辨率图像 例如我可以获取或设置捕获的图像分辨率为原始图像分
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • 如何实现仅当可用内存较低时才将数据交换到磁盘的写缓存

    我想将应用程序生成的数据缓存在内存中 但如果内存变得稀缺 我想将数据交换到磁盘 理想情况下 我希望虚拟机通知它需要内存并将我的数据写入磁盘并以这种方式释放一些内存 但我没有看到任何方法以通知我的方式将自己挂接到虚拟机中before an O
  • 使用 xpath 和 vtd-xml 以字符串形式获取元素的子节点和文本

    这是我的 XML 的一部分

随机推荐

  • Appcelerator 5.2GA 中的 Facebook 模块不再是 64 位

    Facebook 模块已停止工作 我正在 appcelerator 中开发钛金应用程序 当我尝试构建我的应用程序时 出现以下错误 INFO Invoking xcodebuild ERROR BUILD FAILED ERROR The f
  • 使用 Perl 提取特定行

    我正在编写一个 perl 程序来提取我匹配的两个模式之间的行 例如下面的文本文件有 6 行 我正在匹配负载均衡器和终端 我想要得到中间的 4 条线 load balancer new old good bad end 我的问题是如何将负载均
  • 对如何构建 GUI (wxpython) 感到困惑

    我从一本书转到另一本书 从谷歌搜索到另一本书 我注意到每一本书都以完全不同的方式启动主窗口 我不想养成坏习惯 所以有人可以给我最好的这些选择以及为什么这是更好的方法 以下是我见过的所有方法 A 类 iFrame wx Frame 定义ini
  • 发送有关受监控目录中文件更改的电子邮件

    如果服务器上的员工文件夹中的文件发生更改 我想向我们公司的人员发送电子邮件通知 我有一个脚本 可以很好地使用 inotifywait 在每次文件更改时发送电子邮件 我想做的是在多个文件上传 假设 10 个 jpg 正在上传到某人的员工文件夹
  • 使用 set_value 以 codeigniter 形式填充下拉列表

    我有一个使用下拉菜单的表单 我使用 codeigniter 表单助手和表单验证 因此 当我在表单中收到验证错误时 所有正确输入的字段都会使用 codeigniter 的 set value 进行填充 但这不适用于下拉列表 我正在做 当表单出
  • 如何使用 Windows 身份验证连接字符串使用 OLEDB 连接到 SQL Server

    我的 SQL Server 2010 在 Windows 身份验证模式下运行 并且已分配了正确的组 我可以使用 Windows 身份验证通过 SQL Server Client Studio 进行连接 这样可行 但是当使用 NET OLED
  • EPPlus 将 200 万行、200 多列的数据表保存到多个 Excel 文件

    我有使用 EPPlus 将所有记录从 SQL 表保存到 Excel 工作表的功能 如果我导出少量数据 一切正常 但如果导出 200 多列和 500 000 多行 则会出现 OutOfMemory 异常 我想修改我的代码 以便每个文件能够保存
  • JavaFX:设置场景最小尺寸(不包括装饰)

    我知道使用 JavaFX 您可以使用以下命令设置舞台最小大小stage setMinWidth and stage setMinHeight 但是 这将包括窗口边框 带有最小化 最大化和关闭按钮 设置最小尺寸时如何排除这一点 您可以显示St
  • 从 Office 加载项外部使用 Office.js API

    在 Office js 文档中 您可以阅读以下有关新 ExecuteAsync 方法 模式的内容 这还允许我们即使在 Excel 加载项之外也可以使用相同的 API 例如 想象一下 您想要针对存储在 OneDrive 中的 Excel 工作
  • 更改 Android 中 Sherlocks 库中 ActionBar 中选项卡的背景颜色?

    我正在使用 Sherlock 库开发 Actionbar 我想以不同的方式更改操作栏和选项卡的背景图像 目前我已经在运行时通过代码成功更改了操作栏的背景 Drawable myIcon getResources getDrawable R
  • Grails 与 Gaelyk 的新 Groovy AppEngine 应用程序 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我开始使用 Groovy
  • 在 Rust 中将 Vec 转换为 &str 的切片?

    Per 在 Rust 中你应该使用 str除非你确实需要拥有某物的所有权String 同样 建议使用对切片的引用 代替Vec除非您确实需要拥有该Vec 我有一个Vec
  • 在 Express js 会话中存储实例

    我正在使用expressjs会话 并且我有一个实例需要存储 function a this name var ins new a req session user ins 当我下次得到 res session user 时 该对象不是ins
  • 如何自动将浏览器前缀添加到CSS3属性中?

    您可能知道 由于 CSS3 并不兼容所有浏览器 因此当我们使用 CSS3 时 我们应该为 CSS3 属性添加前缀 例如 moz webkit o 等 手动编写这些前缀很困难 那么 是否有任何插件 程序或其他东西可以检测我的 CSS 文件中的
  • Raspberry Pi - 自动启动 OpenCv 脚本 - cv::imshow() 错误

    简短的介绍 我想在启动后通过 systemd 服务脚本自动启动可执行文件 opencv 二进制文件 通过 c 生成 但我不成功 我将错误范围缩小到代码语句 cv imshow 该语句打开一个窗口并显示图像 此时 代码抛出错误 QXcbCon
  • Facebook 帐户取消链接或取消授权 Facebook 应用程序并检查 Facebook 应用程序的链接状态

    我的网站应用程序具有通过 Facebook 登录进行登录的功能 为此 我的应用程序出现在 Facebook 上 使用 Facebook 登录工作正常 但应用程序具有将 Facebook 帐户链接和取消链接到 Facebook 应用程序的功能
  • Linux 中的 Windows 命名管道支持 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在研究一个项目 该项目需要使用命名管道的旧版 Windows 应用程序与在 Linux 服务器上运行的新服务之间进行进程间通信 Windows
  • 关于如何在 iOs 4 中录制视频的基本说明

    嘿伙计们 我很好奇是否有人可以给我一个关于如何在 iOs 4 中制作应用程序录制视频的非常简短的描述 我知道如何使用 os 3 的 UIImagePickerController 方法来处理所有媒体以及诸如此类的事情 但我不知道如果 iOs
  • Java数学表达式解析器可以将复数作为变量?

    我正在写一个程序加工转换复数 但是 我想要一种获取输入字符串并使用复杂变量计算转换的方法 例如 1 z 1 z 2 z 2 其中 z 是复数 现在 我看了 JEP 和一些examples 但我无法确定它是否允许您实际输入 z 作为变量 并且
  • Elasticsearch RestHighLevelClient 缺少传递依赖项

    我正在尝试通过此依赖项使用 RestHighLevelClient