如何查找Gradle项目中引发module1依赖module2的Java类
找出Gradle项目中module1依赖module2的具体Java类原因
以下几种方法可以帮你定位到module2中被module1引用、从而触发依赖关系的Java类:
1. Gradle命令配合IDE分析
- 先执行Gradle依赖洞察命令,确认依赖的类型与来源:
命令会输出module1依赖module2的完整路径,若显示为直接依赖,说明module1代码里明确引用了module2的类。./gradlew module1:dependencyInsight --dependency module2 - 打开IDE(如IntelliJ IDEA),在module1代码中右键点击module2的包名或类名,选择Find Usages,即可列出所有module1中引用module2类的具体位置。
2. IDE调用层级定位
- 在IDE中找到module2的类,右键选择Show Call Hierarchy(调用层级),可以查看哪些module1中的方法或类调用了该类。遍历module2的核心类,就能找到触发依赖的目标类。
3. 反编译检查编译产物
- 进入module1的编译输出目录(默认路径为
module1/build/classes/java/main),用javap命令反编译class文件,查看其中引用的module2类:
这种方式适合排查反射、SPI机制等隐藏的类引用。javap -c module1/build/classes/java/main/[你的包路径]/[类名].class | grep [module2的包前缀]
内容的提问来源于stack exchange,提问作者user
相关产品推荐
相关产品推荐

