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