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