elasticsearch gradle导入elasticsearch 7.6.1,但同时导入了7.6.1和6.4.3,elasticsearch,gradle,elasticsearch,Gradle" /> elasticsearch gradle导入elasticsearch 7.6.1,但同时导入了7.6.1和6.4.3,elasticsearch,gradle,elasticsearch,Gradle" />

elasticsearch gradle导入elasticsearch 7.6.1,但同时导入了7.6.1和6.4.3

elasticsearch gradle导入elasticsearch 7.6.1,但同时导入了7.6.1和6.4.3,elasticsearch,gradle,elasticsearch,Gradle,我用spring boot project和gradle创建了一个项目。 在build.gradle文件中,我导入elasticsearch rest高级客户端,如下所示: compile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: '7.6.1' 但在构建之后,我发现它导入了elasticsearch JAR7.6.1版和6.4.3版。 我从本地gradle

我用spring boot project和gradle创建了一个项目。 在build.gradle文件中,我导入elasticsearch rest高级客户端,如下所示:

compile group: 'org.elasticsearch.client', name: 'elasticsearch-rest-high-level-client', version: '7.6.1'
但在构建之后,我发现它导入了elasticsearch JAR7.6.1版和6.4.3版。 我从本地gradle存储库文件夹中删除了elasticsearch文件夹,然后重新构建。但结果是一样的

我不知道为什么要导入6.4.3版。我没有在我的项目中使用任何其他与elasticsearch相关的JAR。 谁能告诉我6.4.3罐来自哪里?我怎样才能移除它们

似乎Spring依赖关系管理插件控制了es的版本,并忽略了我在build.gradle中的配置。它怎么会这样呢?我怎样才能解决这个问题


我通过在build.gradle中添加以下行来解决此问题:

dependencyManagement {
    dependencies {
        dependency 'org.elasticsearch:elasticsearch:7.6.1'
        dependency 'org.elasticsearch.client:elasticsearch-rest-client:7.6.1'
        dependency 'org.elasticsearch.client:elasticsearch-rest-high-level-client:7.6.1'
    }
}

它可能是一个可传递的依赖项吗?是不是有什么别的东西在拉动弹性搜索?你从
gradle-q依赖项中得到了什么?我通过在build.gradle:dependencyManagement{dependencies中添加这个解决了这个问题{dependency'org.elasticsearch:elasticsearch:7.6.1'dependency'org.elasticsearch.client:elasticsearch rest客户端:7.6.1'dependency'org.elasticsearch.client:elasticsearch rest高级客户端:7.6.1'}好东西。我认为这样做的一个副作用是,一个不同的版本被忽略,而你的特定版本被使用。