当前位置: 首页 > 知识库问答 >
问题:

Spring靴2.1的Elasticsearch版本

端木狐若
2023-03-14

在我的Spring Boot(2.0.5)项目中,我使用了Elasticsearch(5.6.9)。但是,由于测试环境中的一些错误,我们正在转向Spring Boot(2.1.0)。当我运行应用程序时,会出现以下消息

***************************
APPLICATION FAILED TO START
***************************

Description:

An attempt was made to call the method org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequestBuilder.execute()Lorg/elasticsearch/action/ActionFuture; but it does not exist. Its class, org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequestBuilder, is available from the following locations:

    jar:file:/C:/Users/User/.m2/repository/org/elasticsearch/elasticsearch/5.6.9/elasticsearch-5.6.9.jar!/org/elasticsearch/action/admin/indices/mapping/put/PutMappingRequestBuilder.class

It was loaded from the following location:

    file:/C:/Users/User/.m2/repository/org/elasticsearch/elasticsearch/5.6.9/elasticsearch-5.6.9.jar


Action:

Correct the classpath of your application so that it contains a single, compatible version of org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequestBuilder


Process finished with exit code 0

当前pom。xml文件

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <elasticsearch.version>5.6.9</elasticsearch.version>
    </properties>
    <dependencies>

        <!--...others...-->     

        <!--ELASTICSEARCH-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>transport-netty4-client</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>
    </dependencies>

之前的pom。工作正常的xml文件:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.5.RELEASE</version>
        <relativePath/> 
    </parent>
    <properties>
        <elasticsearch.version>5.6.9</elasticsearch.version>
    </properties>
    <dependencies>

        <!--...others...-->     

        <!--ELASTICSEARCH-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-elasticsearch</artifactId>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>transport</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>
        <dependency>
            <groupId>org.elasticsearch.plugin</groupId>
            <artifactId>transport-netty4-client</artifactId>
            <version>${elasticsearch.version}</version>
        </dependency>
    </dependencies>

有人能告诉我哪个版本的弹性搜索与Spring Boot 2.1.0兼容吗?我读了一些过时的类似问题。弹性搜索和弹性数据弹性搜索的兼容版本

共有2个答案

寇靖
2023-03-14

不确定它是否仍然是实际的,但您需要尝试的第一件事是添加核心Elasticsearch库,因为REST客户端依赖于它。

<dependency>
    <groupId>org.elasticsearch</groupId>
    <artifactId>elasticsearch</artifactId>
    <version>6.7.0</version>
</dependency>
常枫涟
2023-03-14

您可以转到Spring Boot项目Github存储库并检查任何依赖版本:

  • 在Spring Boot 2.0. x中Elasticsearch版本定义为5.6.16(link)
  • 在Spring Boot 2.1. x中,Elasticsearch版本定义为6.4.3(link)
 类似资料:
  • 问题内容: 我一直在开发使用Spring Boot,elasticsearch和Spring数据elasticsearch的简单Java程序。 我可以使用以下版本成功进行elasticsearch1)弹簧靴1.3.5 2)spring-data-elasticsearch 1.3.4.RELEASE 3)elasticsearch 1.3.2 但是当我升级到以下版本时,我的服务类之一带有@serv

  • 我一直在使用Spring Boot、弹性搜索和spring数据弹性搜索开发一个简单的java编程。 是不兼容验证的问题吗?如果是,请帮助我什么是spring boot、elasticsearch和spring data elasticsearch的兼容版本。

  • 我使用的是spring boot 1.5.7。发布,spring data elasticsearch 3.0.2。释放和弹性搜索5.6.3。然而,当使用maven进行构建时,它似乎在加载elasticsearch 2.4.6。当我试图通过pom文件强制elasticsearch 5.6.3时,我收到运行时异常,该异常显示缺少运行时依赖项。有什么想法吗?

  • ElasticsearchRestTemplate使用导入组织。elasticsearch。常见的单元TimeValue;。然而,在最新的elasticsearch版本7.14中,此类不存在。使用ElasticsearchRestTemplate。searchScrollStart方法导致NoClassDefFound异常。 哪个版本的spring-data-elasticsearch将支持7.1

  • 我正在更新到最新的spring-data-elasticsearch版本3.1.9,但我不确定我应该在这里使用什么elasticsearch-server版本:在兼容性矩阵版本6.2.2中提到https://github.com/spring-projects/spring-data-elasticsearch 但是当我查看得到的Spring Bootjar文件时,引用了一个jar文件elasti

  • 我正在用Thymeleaf构建一个Spring Boot应用程序。我的模板(视图)和静态文件夹都在src/main/Resources/静态和src/main/Resources/tem板下。当我通过main方法(使用eclipse)运行应用程序时,一切都很好。但是,我已经按照说明创建了一个war文件,当我将其部署到Tomcat 7时——静态内容丢失了,只显示了Thymeleaf html模板。