elasticsearch Maven使用特定依赖项覆盖父依赖项

cig3rfwq  于 2023-01-16  发布在  ElasticSearch
关注(0)|答案(1)|浏览(179)

我想用一个特定的. pom.xml覆盖父spring-data-elasticsearch依赖项:

...
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.5</version>
        <relativePath/>
    </parent>
    ...
    <dependencies>
    ...
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-elasticsearch</artifactId>
            <version>4.1.1</version>
        </dependency>
    </dependencies>
    ...

有了这个配置,我有7.17.6 elasticsearch在libraries. I need 7.12.1当我改变版本到更高或更低的版本没有变化,但当我改变paren版本到2.5.2的elasticsearch版本在libraries成为7.12.1 .我的问题是:如何在不更改父版本的情况下更改依赖项的版本?
我已经尝试排除与标记的依赖关系,但没有帮助我。

pprl5pva

pprl5pva1#

spring-data-elasticsearch/4.1.1似乎依赖于v7.17.8之前的ElasticSearch(而不是v7.12.1)
要在父级中覆盖对elasticsearch的依赖关系,您应该使用dependencyManagement标记,如下所示使用elasticsearch v7.12.1。

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

将依赖项放在dependencyManagement标记之外可以工作,但这是不正确的。

相关问题