在我的 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依赖。
感谢您的帮助!
您可以使用 Maven 强制执行器插件的 requireUpperBoundDeps 规则:
https://maven.apache.org/enforcer/enforcer-rules/requireUpperBoundDeps.html
这是为这种情况而设计的。