更改 maven 中传递依赖的版本 pom.xml

Changing the version of a transitive dependency in maven pom.xml

我一直在尝试覆盖我的一个项目中的传递依赖版本。我在 github 上找到了以下示例项目来进行实验 (https://github.com/Richou/swagger-codegen-maven-plugin)。该项目的父 pom 包含对 swagger-codegen 的依赖。 Swagger-codegen 反过来有一个名为 slf4j-ext 的依赖项,其版本为 1.6.3。我想 upgrade/override slf4j-ext 的版本从父 pom 到 1.7.30。我尝试在父 pom 的 属性 标记内添加所需的 slf4j-version 但是当我检查 maven 依赖树时它不起作用。正确的做法是什么?

        <dependency>
        <groupId>io.swagger</groupId>
        <artifactId>swagger-codegen</artifactId>
        <version>2.1.2</version>
    </dependency>
</dependencies>

<properties>
    <slf4j-version>1.7.30</slf4j-version>
    <java.version>1.7</java.version>
</properties>

您可以在父 pom 的 dependencyManagement 部分添加您想要的版本的 slf4j-ext。

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.slf4j</groupId>
      <artifactId>slf4j-ext</artifactId>
      <version>${slf4j-version}</version>
    </dependency>
  </dependencies>
</dependencyManagement>