spring-boot - 在使用spring-boot 2.3的同时选择spring-data-elasticsearch 3.2

标签 spring-boot gradle spring-data-elasticsearch spring-data-r2dbc

我们在spring-boot 2.3上运行带有spring-data-r2dbc的Web服务,该服务仅在spring-boot 2.3之后可用。
最近,我们需要与现有的elasticsearch 6.x集群集成,而spring-boot 2.3附带的spring-data-elasticsearch 4.0不支持该集群。
我试图明确声明依赖关系 spring-data-elasticsearch 3.2.10 (支持6.x es集群),但是我可以看到 elasticsearch-rest-high-level-client 7.6.2 (此依赖关系是不管是否在spring-data-elasticsearch 3.2.10的pom.xml中声明了版本6.8.12 ,spring-data-elasticsearch 4.0的根本原因都不再支持6.x es集群了。
我正在使用gradt和io.spring.dependency-managementorg.springframework.boot插件。我想知道如何在选择spring-data-elasticsearch 3.2.10的同时继续使用spring-boot 2.3?
==========编辑==========
我碰到了Why does Gradle downgrade my transitive dependencies in a Grails 3.1 application?这个帖子,发现这是因为io.spring.dependency-management gradle插件将elasticsearch版本强制为7.6.2。
我通过ext["elasticsearch.version"] = 6.8.12进行了更改,现在可以使用elasticsearch版本了。
但是,我仍然不确定以这种方式覆盖的版本是否会引起任何无法预料的问题。

最佳答案

我没有gradle设置来测试这一点,但是使用Maven,您需要做两件事:
设置Elasticsearch版本的属性和Spring Data Elasticsearch的依赖项:

    <properties>
        <elasticsearch.version>6.8.4</elasticsearch.version>
    </properties>

    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-elasticsearch</artifactId>
        <version>3.2.10.RELEASE</version>
    </dependency>
带有示例程序的第一次测试似乎运行良好,但是可能会有问题,因为spring-data-elasticsearch和spring-data-r2dbc现在都依赖于不同版本的spring-data-commons。您将不得不尝试。

关于spring-boot - 在使用spring-boot 2.3的同时选择spring-data-elasticsearch 3.2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64217822/

相关文章:

spring-data - 休眠搜索与 spring-data-solr , spring-data-elasticsearch

spring-boot - spring boot - docker - Logback - 非root用户 - 权限被拒绝错误

java - 有没有办法使用spring amqp库将rabbitmq预取计数设置为100000?

java - 使用 @ActivateProfiles 在 JUnit5 测试中加载不正确的 SpringBoot 属性文件

android - 在 Android Studio 中启动自定义 Gradle Android 构建

java - 以非零退出值 255 完成

java - 从 Jenkins 中的 Jacoco 覆盖范围中排除包

spring-boot - Keycloak/SpringBoot - OpenID 配置中提供的发行者 <https ://example. com> 与请求的发行者 <https ://bar. com> 不匹配

spring-boot - Spring Boot使用基本身份验证连接到Elasticsearch

elasticsearch - 如何在 Elasticsearch 中存储国家/州/城市信息