IntelliJ,如何检查包之间的依赖关系

Pio*_*mer 5 java dependencies intellij-idea

嗨,我正在尝试在 IntelliJ 中找到一种方法来验证项目的包结构。假设我的项目包含以下包

src/common

src/module/featureA

src/module/featureB

src/module/featureC
Run Code Online (Sandbox Code Playgroud)

我想避免位于功能包中的代码之间的任何依赖关系。因此,如果我删除 featureA,该项目仍应编译。如果我发现任何两个或多个功能通用的功能,我会将其移至通用包。

我想得到的是能够验证是否:

  • 不同特性中的类之间没有依赖关系
  • 没有从共同点到特征的依赖关系
  • 从特征到共同点至少有两个依赖

这可以通过 IntelliJ 的任何分析功能轻松完成吗?或者,也许可以使用 checktyle 规则完成此检查?