Correct the classpath of your application so that it contains a single, compatible version of xxxxxx

springboot 集成es是出现这个错误

经过排查发现是因为两者的版本不兼容

springboot版本

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.1.2.RELEASE</version>
</dependency>

RestHighLevelClient版本

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifact5.6.0</version>
</dependency>

报错内容:

Description:

An attempt was made to call the method org.elasticsearch.client.RestHighLevelClient.<init>(Lorg/elasticsearch/client/RestClientBuilder;)V but it does not exist. Its class, org.elasticsearch.client.RestHighLevelClient, is available from the following locations:

    jar:file:/D:/repository/owner/org/elasticsearch/client/elasticsearch-rest-high-level-client/5.6.0/elasticsearch-rest-high-level-client-5.6.0.jar!/org/elasticsearch/client/RestHighLevelClient.class

It was loaded from the following location:

    file:/D:/repository/owner/org/elasticsearch/client/elasticsearch-rest-high-level-client/5.6.0/elasticsearch-rest-high-level-client-5.6.0.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.elasticsearch.client.RestHighLevelClient

 

后面把springboot的版本号改成了

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <version>2.0.1.RELEASE</version>
</dependency>

后面启动就生效了,所以出现以上的提示很大可能是版本兼容问题

觉得文章有帮助的话就赞赏下吧!

 

微信:

支付宝:

 

 

 

 

 

 

 

当你在开发Java应用时,遇到"Correct the classpath of your application to contain a single, compatible version of cn.hutool"这样的错误,意味着你的项目中存在多个不同版本的Hutool库(cn.hutool是一个流行的Java工具包),这可能会导致类加载冲突或找不到正确依赖的问题。 Hutool库的版本不兼容可能会引发运行时错误,因为它们可能有不同的API实现或行为。为了解决这个问题,你需要确保你的应用只包含一个版本的Hutool,通常遵循以下步骤: 1. **检查Maven或Gradle配置**:如果你使用Maven,检查pom.xml文件中的<dependencies>部分,确保没有重复的Hutool依赖。如果是Gradle,检查build.gradle文件中的dependencies块。 2. **排除不必要的依赖**:如果你有多个模块或依赖管理工具(如Gradle的dependencyManagement),移除不需要的Hutool依赖项。 3. **使用范围限定(scope)**:在Maven中,可以通过`<dependency>`元素的`<scope>`标签来指定依赖的使用范围,例如`runtime`或`provided`,确保它们不会被打包到最终的应用JAR中。 4. **使用精确版本号**:当引入Hutool时,指定一个精确的版本号,避免因依赖解析问题引入不同版本。 5. **使用依赖管理工具**:如果项目庞大,可以考虑使用像Gradle的Module Dependency或Maven的Import-Package来管理Hutool的版本。 6. **确认最终发布构建**:在构建应用时,确保所有的依赖都已合并为一个单一版本,并且会在最终的部署中一起打包。 一旦完成这些步骤,你应该就能解决类路径冲突,让你的应用使用单个、兼容的Hutool版本了。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

坑里水库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值