当前位置: 首页 > 知识库问答 >
问题:

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

边健
2023-03-14

我创建了一个项目与Spring引导项目和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的版本,并忽略了我在构建中的配置。格拉德尔。它怎么会这样?如何解决问题?

来自IDEA的截图,它显示了两个版本的弹性罐一起导入

共有1个答案

沈德寿
2023-03-14

我通过添加这些要构建的行来解决它。格拉德尔:

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'
    }
}
 类似资料:
  • 是否有办法将GradleJava项目导入IntelliJ 2017.2. x并应用一些设置,例如 代码样式 vcs设置 从Gradle在项目层面? 我注意到例如Grails框架使用了idea-gradle-plugin,但这只能与Gradle任务结合使用。 我不想使用Gradle任务生成IntelliJ项目文件。每当我导入文件。 这可能吗?

  • 导出(export)和导入(import)指令有几种语法变体。 在上一节,我们看到了一个简单的用法,现在让我们来探索更多示例吧。 在声明前导出 我们可以通过在声明之前放置 export 来标记任意声明为导出,无论声明的是变量,函数还是类都可以。 例如,这里的所有导出均有效: // 导出数组 export let months = ['Jan', 'Feb', 'Mar','Apr', 'Aug',

  • 导出和导入容器 导出容器 如果要导出本地某个容器,可以使用 docker export 命令。 $ docker container ls -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NA

  • 我有一个由两个gradle项目组成的项目,在构建中定义如下。格雷德尔档案。 和 问题是,我不能从客户端模块中导入任何在核心模块中定义的类。然而,反过来也行。这可能是因为我们提到了编译项目(:客户端)作为“核心”模块的依赖项。当我把编译项目(: core)作为客户端模块的依赖项时,IntelliJ允许我将核心模块中的类导入客户端。然而,gradle随后正确地声称这两个模块之间存在循环构建依赖关系。

  • 我已经将volley库克隆为 我如何将其作为模块导入到我的android studio项目中,该项目由gradle提供支持,类似于IntelliJ Idea中的“导入模块”选项。

  • 这是一个非常基本的问题,有一个非常广泛的答案,由@Mark Roddy编写使用导入模块或从模块导入? 根据这个答案,每种方法都有利弊,但结果是相同的,两者都有效。 这样做: 或 应该有用。 我的问题: 考虑这个例子: 其中: 以及: 它给出了以下输出: 所以我很困惑。两者都应该起作用。为什么Python会为第一种方法生成异常?