前言
不知道作为java程序员的你,在维护项目或者学习开源项目的时候,是否被类的依赖关系搞得双手颤抖过?
在网上搜了一大圈下来,刚开始博主用的eclipse的插件Amaterasuml。但是,有个不理想的地方是Amaterasuml工具只能以一个个文件拖拽的方式来查看类的依赖关系,易用性不是很强。如果是哪个类被遗忘了,就会造成依赖模型的不完成性。
后来,听同事说有一个工具能解析整个工程以至于JDK源码的类依赖关系——Class Dependency Analyzer (CDA)。在网上的资料不是特别多,在这里记录下自己的使用心得。
CDA优点
- 解析文件格式多样化——以下的后缀格式都可以被解析
- xxx.war
- xxx.jar
- xxx.java
- xxx.class
- 它可以不同的文件级别上分析依赖关系:
- 一个单独的类
- 在同一个包下的所有类文件
- 一个容器下的所有类(譬如Jar包或文件夹)
- 操作简单——只需要拖拽一个类就可以查看关于这个类的所有依赖
- 产品化——功能比较丰富
使用过程
- 使用CDA之前请先确保JDK环境(1.8~)
- 下载CDA
- 解压下载的CDA文件包,在解压的根目录找到cda.bat(Windows用这个cda.bat文件,linux用cda.sh) 双击cda.bat
- 点击File/New….先创建workSet(概念相当于eclipse的workspace),弹出的窗口有classpath就是选择本地需要解析的文件集。
- 创建成功,如下图:
- 显示类依赖的界面:
依赖关系以图的形式展现
依赖关系以表格的形式展现