防止 Maven 使用旧的传递依赖版本进行编译

问题描述 投票:0回答:1

在我的 Maven 项目中,我有以下依赖项:

<dependency>
    <groupId>com.projectA</groupId>
    <artifactId>projectA</artifactId>
    <version>1.10.0</version>
    <type>pom</type>
</dependency>

此依赖项包括对 projectB 版本 2.2.0 的传递依赖项。

此外,我还直接依赖于同一库的旧版本:

<dependency>
    <groupId>com.projectB</groupId>
    <artifactId>projectB</artifactId>
    <version>2.1.0</version>
</dependency>

如果使用项目B的旧版本(例如2.1.0),我如何确保我的项目无法编译,并且始终强制项目A使用版本?

我想防止项目意外使用较低版本的projectB依赖。

感谢您的帮助!

java maven dependencies maven-enforcer-plugin
1个回答
0
投票

您可以使用 Maven 强制执行器插件的 requireUpperBoundDeps 规则:

https://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html

这是为这种情况而设计的。

© www.soinside.com 2019 - 2024. All rights reserved.