如何阻止Spring Boot 2.6.7自动升级elasticsearch-rest-client至7.15.2?
如何在Spring Boot 2.6.7中锁定elasticsearch-rest-client:7.1.0版本
Spring Boot通过自带的依赖管理BOM(Bill of Materials)统一控制第三方依赖版本,你遇到的自动升级问题是因为Spring Boot 2.6.7的BOM中默认指定了elasticsearch-rest-client的版本为7.15.2。要强制使用7.1.0版本,可以通过以下两种方式实现:
1. 显式指定依赖版本
在你的pom.xml(Maven)或build.gradle(Gradle)中直接为elasticsearch-rest-client指定版本号,Spring Boot会优先使用你指定的版本而非BOM中的默认版本。
Maven示例:
<dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.1.0</version> </dependency>
Gradle示例:
implementation 'org.elasticsearch.client:elasticsearch-rest-client:7.1.0'
2. 通过依赖管理节点锁定版本
如果你的项目包含多个模块,或者需要统一控制多个Elasticsearch相关依赖的版本,可以在依赖管理(dependencyManagement)中声明版本,这样所有引用该依赖的地方都会自动使用指定版本。
Maven示例:
<dependencyManagement> <dependencies> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-client</artifactId> <version>7.1.0</version> </dependency> <!-- 若使用高级客户端,可同步锁定版本 --> <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>elasticsearch-rest-high-level-client</artifactId> <version>7.1.0</version> </dependency> </dependencies> </dependencyManagement>
Gradle示例:
dependencyManagement { imports { mavenBom "org.springframework.boot:spring-boot-dependencies:2.6.7" } dependencies { dependency 'org.elasticsearch.client:elasticsearch-rest-client:7.1.0' } }
注意:锁定版本后,请确保7.1.0版本与Spring Boot 2.6.7的其他组件不存在兼容性问题,若出现异常需针对性调整。
内容的提问来源于stack exchange,提问作者sandesh a
相关产品推荐
相关产品推荐

