【问题标题】:How to use lower Elastic search version in Maven when using "spring-boot-starter-parent"使用“spring-boot-starter-parent”时如何在 Maven 中使用较低的 Elastic 搜索版本
【发布时间】:2017-11-09 20:39:18
【问题描述】:

我正在为 Webflux 使用版本为“2.0.0.BUILD-SNAPSHOT”的“spring-boot-starter-parent”。我使用 Elasticsearch 作为数据源。所以我在 pom.xml 中包含了“spring-boot-starter-data-elasticsearch”。默认情况下,包括 5.4.0 的 ES 版本。但我的 Elasticsearch 版本是 2.3.1。我现在无法升级我的 ES 版本。那么有没有办法将默认包含的 ES 版本(5.4.0)降级到较低版本(2.3.1)。我尝试在 pom.xml 中的“spring-boot-starter-data-elasticsearch”依赖项中指定较低版本,但仍然无法正常工作。我收到“NoNodeAvailalbe 异常”。所以我通过使用 2.3.1 版本的依赖“org.elasticsearch”来降级 ES,但在这种情况下我无法启动我的服务器。

【问题讨论】:

  • 您是否使用 spring-boot-starter-parent 作为 Maven 项目的父级?
  • @AndyWilkinson 是的,我正在使用 spring-boot-starter-parent

标签: maven elasticsearch spring-boot spring-data spring-webflux


【解决方案1】:

您可以使用 maven dependencyManagement 标签覆盖 spring-boot-starter-data-elasticsearchorg.elasticsearch 版本。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.elasticsearch</groupId>
            <artifactId>elasticsearch</artifactId>
            <version>2.3.1</version>
        </dependency>
    </dependencies>
</dependencyManagement>

请参阅 spring.io Overriding Dependency Versions with Spring Boot 的这篇详细帖子

【讨论】:

  • 没那么简单。 Spring Boot 2.0使用的Spring Data Elasticsearch版本需要Elasticsearch 5
猜你喜欢
  • 2021-01-12
  • 2018-05-14
  • 2018-12-10
  • 2019-12-26
  • 2018-12-15
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 2020-11-06
相关资源
最近更新 更多