是否有用于Java的代码分析工具来断言包依赖性/非依赖性?
我有一个项目,其中依赖关系已经在不相互了解的包之间悄悄进入 - 特别是后向依赖,这应该是一种方式。
我想指定允许哪些包对(在哪个方向上)依赖。或者,指定不允许彼此依赖的包 - 或者不是两种方式 - 将有所帮助。理想情况下,这可以作为Ant构建和/或JUnit运行的一部分运行,并且如果引入了违反规则的新依赖项,则构建失败。然后我们将其添加到CI流程中。
能够在包组的级别指定依赖关系也是有用的(例如,'web'中的所有包和子包CAN依赖于'api'或其子包中的任何包)
与我的特定项目有关的具体情况: