如何防止Maven项目在特定范围内使用依赖项



有一个多模块Maven项目依赖于;图书馆ABC";。

从现在起,我想防止在项目中使用此库
它可能被其他依赖项使用,这不是问题——
目标是确保项目本身在范围内不依赖它;编译";以及";测试";。

从实际的角度来看,开发人员不应该意外地将类从ABC导入到项目类中。考虑到有多个模块,可以添加一些新的依赖关系是很自然的。尽管如此,他们不应该在项目代码中隐式地使库ABC可用。

如何配置生成以禁止显式使用特定依赖项

有两个选项:

  1. maven依赖插件强制开发者指定直接依赖,maven强制插件禁止某些依赖
  2. maven checkstyle插件,禁止在java代码中进行某些导入

最新更新