覆盖maven中的可传递版本依赖项



使用<properties></properties标记覆盖maven中的传递依赖关系时需要满足哪些条件?例如,在这个示例github项目中(https://github.com/Richou/swagger-codegen-maven-plugin)我想通过在父pom中的<properties>标记中定义所需的版本来覆盖swagger codegen中使用的slf4j-ext的版本。条件是什么?

注意:我知道<dependencyManagement>可以用于此目的,但我想更好地了解版本重写以及pom的工作方式。

通常,您需要通过标记到特定版本来定义可传递依赖项。

比方说:

  1. 您希望的依赖项需要一个更新的可传递依赖项。在这种情况下,您会遇到更新依赖项的问题
  2. 您希望的依赖项需要一个较旧的可传递依赖项在这种情况下,您希望使用或根本不使用较新的依赖项
  3. 您需要升级依赖项本身的可传递依赖项吗?在这种情况下,排除依赖项并将其添加为自己的依赖项

在第一种情况下,您可以使用依赖项排除,如下所述https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html#dependency-排除

在后面的情况下,您需要验证您的传递依赖项是否有效,或者是否还需要排除传递依赖项。

升级

最新更新