如何统计Maven项目中依赖的使用频率以清理冗余依赖?
统计Maven依赖使用频率的工具与方法
IDE自带工具就能搞定
- IntelliJ IDEA/Android Studio:对着pom.xml里的依赖B右键,选「Find Usages」,直接就能看到项目里所有用了这个依赖的代码位置,连使用次数和具体文件都列得清清楚楚。也可以走「Analyze → Run Inspection by Name」,搜「Unused declaration」,能筛出依赖B里没被用到的部分,反过来确认仅有的那几处使用点。
- Eclipse:右键依赖B,选「References → Workspace」,项目里所有调用这个依赖的地方都会列出来,统计数量一眼明了。
静态代码分析工具更全面
- SonarQube:把项目配置好扫一遍,在「Dependencies」板块里能看到每个依赖的使用情况,包括被引用的类、方法数量,还能标记出依赖B的具体调用位置,方便定位迁移。
- SpotBugs/FindBugs:配上对应的插件,能分析依赖的调用频率,查看详细的调用报告就能精准找到依赖B的所有使用实例。
命令行工具适合批量场景
- maven-dependency-plugin:执行
dependency:analyze命令,会生成依赖分析报告,标记出哪些是已用依赖、哪些是未用的。虽然不会直接给使用次数,但能明确依赖B确实被用到了,之后配合grep之类的命令遍历代码统计调用次数就行。 - JDepend:能分析代码和依赖之间的关系,生成的报告里包含每个依赖类被引用的次数,适合批量统计依赖使用频率。
顺带说下代码迁移的小技巧
找到依赖B的所有使用点后,大部分IDE都有「Replace in Path」功能,直接把依赖B的空值校验方法(比如BStringUtils.isEmpty(str))替换成依赖A的对应方法(比如AStringUtils.isBlank(str))就行。替换前一定要确认两个方法的逻辑是否一致——比如会不会一个只校验null和空字符串,另一个还校验空白字符,别换完出bug。
内容的提问来源于stack exchange,提问作者click
相关产品推荐
相关产品推荐

