Jarviz 是为Java应用程序设计的依赖性分析工具。Jarviz可以提供跨工件的Java方法之间的耦合的完整图。由于一个类中的非私有方法可以被其他类访问,因此方法调用可以相互缠结,从而在彼此之间建立多重耦合。Jarviz深入分析Java字节码,以用户友好的方式显示这些耦合。也就是通过Java字节码分析揭示了Java应用在字段级别的依赖性。
Jarviz由三个部分组成。
1. Jarviz Java库
此Java库使用自定义类加载器扫描二进制工件的Java 字节码 ,并生成依赖关系耦合数据作为 JSON Lines (.jsonl)文件。当前支持JAR和WAR工件格式。为了找到依赖关系耦合,Jarviz使用静态字节码分析检查操作码。
2. Jarviz图形工具
Jarviz图形工具是一个Node.js应用程序,旨在为Java应用程序绘制依赖关系耦合数据。可以从Jarviz Java库生成作为 JSON Lines (.jsonl)输入文件提供的依赖关系耦合数据。
3. Jarviz CLI工具
Jarviz CLI是为* nix系统设计的命令行工具,用于对Java应用程序执行依赖关系分析。内部使用Jarviz Java库和Jarviz Graph Tool。大多数用户只需要使用Jarviz CLI工具来查找应用程序耦合。
https://github.com/ExpediaGroup/jarviz