簡體   English   中英

Spring Boot、Elasticsearch 6.2.4、Gradle 依賴問題

[英]Spring Boot, Elasticsearch 6.2.4, Gradle dependency issues

我正在將舊應用程序轉換為 Spring Boot。 此應用程序當前使用 Elasticsearch 6.2.4

在我的build.gradle文件中創建以下依賴項時,它包含錯誤版本的 Elasticsearch,5.6.11:

dependencies {
    // Spring Boot Starters
    compile 'org.springframework.boot:spring-boot-starter-web'
    compile 'org.springframework.boot:spring-boot-starter-security'
    compile 'org.springframework.boot:spring-boot-starter-mail'

    // Elasticsearch
    compile 'org.elasticsearch.client:elasticsearch-rest-high-level-client:6.2.4'
}

./gradlew dependencies輸出

+--- org.elasticsearch.client:elasticsearch-rest-high-level-client:6.2.4
|    +--- org.elasticsearch:elasticsearch:6.2.4 -> 5.6.11

我假設這是由於io.spring.dependency-management插件而發生的一些魔法。

在將此遺留應用程序轉換為 Spring Boot 時,如何覆蓋此行為並仍然使用我的顯式配置版本?

請注意,我目前沒有使用spring-data ,也沒有計划很快使用它。 我當前的應用程序在沒有任何 Spring 抽象層的情況下管理 ES 客戶端和所有交互本身。

ext {
    set('elasticsearch.version', '6.2.4')
}

關於覆蓋版本的博客文章

在搜索相同的答案時,我遇到了以下解決方案:

ext['elasticsearch.version'] = '6.2.4'

參考文檔 3.1 自定義托管版本

這些版本是從https://github.com/spring-projects/spring-boot/blob/v2.1.6.RELEASE/spring-boot-project/spring-boot-dependencies/pom.xml中挑選出來的 BOM 文件

不同的版本在 pom 文件中會有不同的版本集。

添加未來參考。 在 ext 中添加的版本可以使用 property() 進行依賴引用,這樣我們就不需要重復版本聲明。

compile ("org.elasticsearch.client:elasticsearch-rest-high-level-client:${property('elasticsearch.version')}")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM