有一个多模块Maven项目依赖于;图书馆ABC";。
从现在起,我想防止在项目中使用此库。
它可能被其他依赖项使用,这不是问题——
目标是确保项目本身在范围内不依赖它;编译";以及";测试";。
从实际的角度来看,开发人员不应该意外地将类从ABC导入到项目类中。考虑到有多个模块,可以添加一些新的依赖关系是很自然的。尽管如此,他们不应该在项目代码中隐式地使库ABC可用。
如何配置生成以禁止显式使用特定依赖项
有两个选项:
- maven依赖插件强制开发者指定直接依赖,maven强制插件禁止某些依赖
- maven checkstyle插件,禁止在java代码中进行某些导入